final revisions fr

This commit is contained in:
hagen-danswer 2024-06-10 09:32:39 -07:00
parent cbc53fd500
commit be5dd3eefb

View File

@ -11,6 +11,7 @@ from office365.teams.team import Team # type: ignore
from danswer.configs.app_configs import INDEX_BATCH_SIZE from danswer.configs.app_configs import INDEX_BATCH_SIZE
from danswer.configs.constants import DocumentSource from danswer.configs.constants import DocumentSource
from danswer.connectors.cross_connector_utils.miscellaneous_utils import time_str_to_utc
from danswer.connectors.interfaces import GenerateDocumentsOutput from danswer.connectors.interfaces import GenerateDocumentsOutput
from danswer.connectors.interfaces import LoadConnector from danswer.connectors.interfaces import LoadConnector
from danswer.connectors.interfaces import PollConnector from danswer.connectors.interfaces import PollConnector
@ -24,14 +25,10 @@ from danswer.utils.logger import setup_logger
logger = setup_logger() logger = setup_logger()
datetime_format_string = "%Y-%m-%dT%H:%M:%S.%f%z"
def get_created_datetime(chat_message: ChatMessage) -> datetime: def get_created_datetime(chat_message: ChatMessage) -> datetime:
# Extract the 'createdDateTime' value from the 'properties' dictionary and convert it to a datetime object # Extract the 'createdDateTime' value from the 'properties' dictionary and convert it to a datetime object
return datetime.strptime( return time_str_to_utc(chat_message.properties["createdDateTime"])
chat_message.properties["createdDateTime"], datetime_format_string
)
def _extract_channel_members(channel: Channel) -> list[BasicExpertInfo]: def _extract_channel_members(channel: Channel) -> list[BasicExpertInfo]:
@ -58,8 +55,8 @@ def _get_threads_from_channel(
threads: list[list[ChatMessage]] = [] threads: list[list[ChatMessage]] = []
for base_message in base_messages: for base_message in base_messages:
message_datetime = datetime.strptime( message_datetime = time_str_to_utc(
base_message.properties["lastModifiedDateTime"], datetime_format_string base_message.properties["lastModifiedDateTime"]
) )
if start and message_datetime < start: if start and message_datetime < start:
@ -122,9 +119,8 @@ def _convert_thread_to_document(
if sorted_thread: if sorted_thread:
most_recent_message = sorted_thread[0] most_recent_message = sorted_thread[0]
most_recent_message_datetime = datetime.strptime( most_recent_message_datetime = time_str_to_utc(
most_recent_message.properties["createdDateTime"], most_recent_message.properties["createdDateTime"]
datetime_format_string,
) )
for message in thread: for message in thread:
@ -158,8 +154,6 @@ def _convert_thread_to_document(
return None return None
semantic_string = _construct_semantic_identifier(channel, top_message) semantic_string = _construct_semantic_identifier(channel, top_message)
if not semantic_string:
return None
post_id = top_message.properties["id"] post_id = top_message.properties["id"]
web_url = top_message.web_url web_url = top_message.web_url
@ -219,12 +213,15 @@ class TeamsConnector(LoadConnector, PollConnector):
teams = self.graph_client.teams.get().execute_query() teams = self.graph_client.teams.get().execute_query()
if len(self.requested_team_list) > 0: if len(self.requested_team_list) > 0:
for requested_team in self.requested_team_list: adjusted_request_strings = [
adjusted_request_string = requested_team.replace(" ", "") requested_team.replace(" ", "")
for team in teams: for requested_team in self.requested_team_list
adjusted_team_string = team.display_name.replace(" ", "") ]
if adjusted_team_string == adjusted_request_string: teams_list = [
teams_list.append(team) team
for team in teams
if team.display_name.replace(" ", "") in adjusted_request_strings
]
else: else:
teams_list.extend(teams) teams_list.extend(teams)