Team Ai
Apppublic

Multimedika/Bot_Development

sourceHugging Facemitupdated 2y agoView on Hugging Face
0likes
get_metadata.py35 linesDownload Raw Back to script
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)