Bot_Development / script /get_metadata.py
dsmultimedika's picture
Build Application
9002555
raw
history blame
1.46 kB
# Get reference
class Metadata:
def __init__(self, reference):
self.title = reference["title"]
self.author = reference["author"]
self.category = reference["category"]
self.year = reference["year"]
self.publisher = reference["publisher"]
def add_metadata(self, documents, metadata):
"""Add metadata to each item (document or node)."""
for document in documents:
if not hasattr(document, "metadata") or document.metadata is None:
document.metadata = {}
document.metadata.update(metadata)
print("metadata is added")
# self.logger.log_action(f"Metadata added to document {item.id_}", action_type="METADATA")
return documents
def _generate_metadata(self):
"""Generate metadata and return it."""
metadata = {
"title": self.title,
"author": self.author,
"category": self.category,
"year": self.year,
"publisher": self.publisher,
"reference": f"{self.author}. ({self.year}). *{self.title}*. {self.publisher}.", # APA style reference
}
print("metadata is generated")
return metadata
def apply_metadata(self, documents):
"""Apply generated metadata to documents."""
metadata = self._generate_metadata()
print("metadata is applied")
return self.add_metadata(documents, metadata)