Multimedika/Bot_Development
0
1# Get reference2class Metadata:3 def __init__(self, reference):4 self.reference = reference5 6 def add_metadata(self, documents, metadata):7 """Add metadata to each document and include page number."""8 for page_number, document in enumerate(documents, start=1):9 # Ensure the document has a metadata attribute10 if not hasattr(document, "metadata") or document.metadata is None:11 document.metadata = {}12 13 # Update metadata with page number14 document.metadata["page"] = page_number15 document.metadata.update(metadata)16 17 return documents18 19 def _generate_metadata(self):20 """Generate metadata and return it."""21 metadata = {22 "title": self.reference["title"],23 "author": self.reference["author"],24 "category": self.reference["category"],25 "year": self.reference["year"],26 "publisher": self.reference["publisher"],27 "reference": f"{self.reference['author']}. ({self.reference['year']}). *{self.reference['title']}*. {self.reference['publisher']}." # APA style reference28 }29 30 return metadata31 32 def apply_metadata(self, documents):33 """Apply generated metadata to documents."""34 metadata = self._generate_metadata()35 return self.add_metadata(documents, metadata)