Fix Freshdesk connector date parsing for UTC timestamps

This commit is contained in:
Skylar Kesselring 2024-10-23 14:01:03 -04:00
parent a1680fac2f
commit 85b56e39c9

View File

@ -13,10 +13,7 @@ logger = setup_logger()
class FreshdeskConnector(PollConnector):
def __init__(self, api_key: str, domain: str, password: str, batch_size: int = INDEX_BATCH_SIZE) -> None:
self.api_key = api_key
self.domain = domain
self.password = password
def __init__(self, batch_size: int = INDEX_BATCH_SIZE) -> None:
self.batch_size = batch_size
def ticket_link(self, tid: int) -> str:
@ -63,6 +60,8 @@ class FreshdeskConnector(PollConnector):
for ticket in tickets:
# Convert the "created_at", "updated_at", and "due_by" values to ISO 8601 strings
for date_field in ["created_at", "updated_at", "due_by"]:
if ticket[date_field].endswith('Z'):
ticket[date_field] = ticket[date_field][:-1] + '+00:00'
ticket[date_field] = datetime.fromisoformat(ticket[date_field]).strftime("%Y-%m-%d %H:%M:%S")
# Convert all other values to strings
@ -113,4 +112,4 @@ class FreshdeskConnector(PollConnector):
yield doc_batch
def poll_source(self, start: datetime, end: datetime) -> GenerateDocumentsOutput:
yield from self._process_tickets(start, end)
yield from self._process_tickets(start, end)