Skip to content

Commit e825605

Browse files
committed
fix: handle encrypted pdf decryption error
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
1 parent 7a23376 commit e825605

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

context_chat_backend/chain/ingest/doc_loader.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from odfdo import Document
1717
from pandas import read_csv, read_excel
1818
from pypdf import PdfReader
19+
from pypdf.errors import FileNotDecryptedError as PdfFileNotDecryptedError
1920
from striprtf import striprtf
2021

2122
logger = logging.getLogger('ccb.doc_loader')
@@ -133,6 +134,9 @@ def decode_source(source: UploadFile) -> str | None:
133134
result = source.file.read().decode('utf-8', 'ignore')
134135
source.file.close()
135136
return result
137+
except PdfFileNotDecryptedError:
138+
logger.warning(f'PDF file ({source.filename}) is encrypted and cannot be read')
139+
return None
136140
except Exception:
137141
logger.exception(f'Error decoding source file ({source.filename})', stack_info=True)
138142
return None

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
apscheduler
22
chromadb
3+
cryptography
34
ctransformers
45
epub2txt
56
fastapi

0 commit comments

Comments
 (0)