mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-03-26 17:51:54 +01:00
Guru Metadata (#967)
This commit is contained in:
parent
5504c9f289
commit
a2a171999a
@ -13,6 +13,7 @@ from danswer.connectors.interfaces import GenerateDocumentsOutput
|
||||
from danswer.connectors.interfaces import LoadConnector
|
||||
from danswer.connectors.interfaces import PollConnector
|
||||
from danswer.connectors.interfaces import SecondsSinceUnixEpoch
|
||||
from danswer.connectors.models import BasicExpertInfo
|
||||
from danswer.connectors.models import ConnectorMissingCredentialError
|
||||
from danswer.connectors.models import Document
|
||||
from danswer.connectors.models import Section
|
||||
@ -90,6 +91,26 @@ class GuruConnector(LoadConnector, PollConnector):
|
||||
latest_time = (
|
||||
max(last_verified, last_updated) if last_verified else last_updated
|
||||
)
|
||||
|
||||
metadata_dict: dict[str, str | list[str]] = {}
|
||||
tags = [tag.get("value") for tag in card.get("tags", [])]
|
||||
if tags:
|
||||
metadata_dict["tags"] = tags
|
||||
|
||||
boards = [board.get("title") for board in card.get("boards", [])]
|
||||
if boards:
|
||||
# In UI it's called Folders
|
||||
metadata_dict["folders"] = boards
|
||||
|
||||
owner = card.get("owner", {})
|
||||
author = None
|
||||
if owner:
|
||||
author = BasicExpertInfo(
|
||||
email=owner.get("email"),
|
||||
first_name=owner.get("firstName"),
|
||||
last_name=owner.get("lastName"),
|
||||
)
|
||||
|
||||
doc_batch.append(
|
||||
Document(
|
||||
id=card["id"],
|
||||
@ -97,7 +118,9 @@ class GuruConnector(LoadConnector, PollConnector):
|
||||
source=DocumentSource.GURU,
|
||||
semantic_identifier=title,
|
||||
doc_updated_at=latest_time,
|
||||
metadata={},
|
||||
primary_owners=[author] if author is not None else None,
|
||||
# Can add verifies and commenters later
|
||||
metadata=metadata_dict,
|
||||
)
|
||||
)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user