diff --git a/backend/src/chitai/services/metadata_extractor.py b/backend/src/chitai/services/metadata_extractor.py index f6b1fc8..d456e31 100644 --- a/backend/src/chitai/services/metadata_extractor.py +++ b/backend/src/chitai/services/metadata_extractor.py @@ -53,7 +53,7 @@ class Extractor: # Sort based on file priority # EPUB tends to give better metadata results over pdf sorted_files = sorted(files, key=lambda f: Extractor._get_file_priority(f)) - + for file in sorted_files: match get_file_extension(file): case "epub": @@ -155,7 +155,11 @@ class PdfExtractor(FileExtractor): if isinstance(data, UploadFile): data = data.file - doc = pypdfium2.PdfDocument(data) + try: + doc = pypdfium2.PdfDocument(data) + except Exception as e: + logger.error(f"Error extracting metadata from pdf: {e}") + return {} basic_metadata = doc.get_metadata_dict(skip_empty=False) metadata["title"] = basic_metadata["Title"]