diff --git a/src/services/excel_handler.py b/src/services/excel_handler.py index 748201ff..68445bde 100644 --- a/src/services/excel_handler.py +++ b/src/services/excel_handler.py @@ -86,6 +86,8 @@ class ExcelHandler(MetadataHandler): MetadataReadingError: If the workbook is password-protected. MetadataNotFoundError: If no properties are found. """ + self.metadata.clear() + self.keys_to_delete.clear() wb = load_workbook(Path(self.filepath)) try: if wb.security.workbookPassword is not None: @@ -113,6 +115,7 @@ class ExcelHandler(MetadataHandler): Raises: MetadataNotFoundError: If no properties are found. """ + self.processed_metadata.clear() wb = load_workbook(Path(self.filepath)) try: if wb.properties is None: diff --git a/src/services/image_handler.py b/src/services/image_handler.py index 07d52a57..18e96db0 100644 --- a/src/services/image_handler.py +++ b/src/services/image_handler.py @@ -90,6 +90,10 @@ class ImageHandler(MetadataHandler): Uses actual format detection to select the appropriate processor. """ + self.metadata.clear() + self.text_keys_to_delete.clear() + self.tags_to_delete.clear() + self.detected_format = self._detect_format() processor = self.processors.get(self.detected_format) @@ -111,6 +115,8 @@ class ImageHandler(MetadataHandler): Uses actual format detection to select the appropriate processor. """ + self.processed_metadata.clear() + self.clean_pnginfo = None # Use cached format if available, otherwise detect if not self.detected_format: self.detected_format = self._detect_format() diff --git a/src/services/pdf_handler.py b/src/services/pdf_handler.py index bcef30eb..246066c4 100644 --- a/src/services/pdf_handler.py +++ b/src/services/pdf_handler.py @@ -71,6 +71,8 @@ class PDFHandler(MetadataHandler): MetadataReadingError: If the PDF is encrypted/password-protected. MetadataNotFoundError: If no metadata is found in the PDF. """ + self.metadata.clear() + self.keys_to_delete.clear() with PdfReader(Path(self.filepath)) as reader: if reader.is_encrypted: raise MetadataReadingError("File is encrypted.") @@ -93,6 +95,7 @@ class PDFHandler(MetadataHandler): Raises: MetadataNotFoundError: If no metadata is found in the PDF. """ + self.processed_metadata.clear() with PdfReader(Path(self.filepath)) as reader: metadata = reader.metadata if metadata is None: diff --git a/src/services/powerpoint_handler.py b/src/services/powerpoint_handler.py index 92739a40..1cdd2da6 100644 --- a/src/services/powerpoint_handler.py +++ b/src/services/powerpoint_handler.py @@ -103,6 +103,8 @@ class PowerpointHandler(MetadataHandler): Raises: MetadataNotFoundError: If no properties are found. """ + self.metadata.clear() + self.keys_to_delete.clear() prs = Presentation(str(Path(self.filepath))) try: if prs.core_properties is None: @@ -128,6 +130,7 @@ class PowerpointHandler(MetadataHandler): Raises: MetadataNotFoundError: If no properties are found. """ + self.processed_metadata.clear() prs = Presentation(str(Path(self.filepath))) try: if prs.core_properties is None: diff --git a/src/services/worddoc_handler.py b/src/services/worddoc_handler.py index 8118fec0..3d6b6cf4 100644 --- a/src/services/worddoc_handler.py +++ b/src/services/worddoc_handler.py @@ -97,6 +97,8 @@ class WorddocHandler(MetadataHandler): Raises: MetadataNotFoundError: If no properties are found. """ + self.metadata.clear() + self.keys_to_delete.clear() doc = Document(str(Path(self.filepath))) try: if doc.core_properties is None: @@ -122,6 +124,7 @@ class WorddocHandler(MetadataHandler): Raises: MetadataNotFoundError: If no properties are found. """ + self.processed_metadata.clear() doc = Document(str(Path(self.filepath))) try: if doc.core_properties is None: