feat(pdf): tests pytest + fix bug NameError pour #74
CI / lint (push) Failing after 19s
CI / test (push) Skipped
CI / build (push) Skipped
CI / e2e (push) Skipped
CI / security (push) Successful in 23s
Desktop Build / build-windows (push) Canceled after 0s
Desktop Build / build-linux (push) Canceled after 0s
CI / lint (push) Failing after 19s
CI / test (push) Skipped
CI / build (push) Skipped
CI / e2e (push) Skipped
CI / security (push) Successful in 23s
Desktop Build / build-windows (push) Canceled after 0s
Desktop Build / build-linux (push) Canceled after 0s
- tests/test_pdf.py : 13 tests (100% verts) couvrant : - extract_pdf_text/metadata/toc avec edge cases (corrupt, missing, truncation) - .pdf dans SUPPORTED_EXTENSIONS - _scan_vault() extrait le texte des PDFs (vérifié avec fixture reportlab) - parseur du filtre ext:pdf - backend/pdf_reader.py : fix NameError quand pymupdf est installé (PdfReader n'était déclaré que dans la branche except ImportError) - backend/requirements-test.txt : reportlab pour générer des PDFs de test (devDep only) - README.md + README.fr.md : section 'PDF support' documentée - docs/ROADMAP.md : #74 marqué 'pratiquement complet' avec détail honnête des items livrés vs non - CHANGELOG.md : entrées pour #71 admin (déjà dans commit précédent), #75 I2 et #74
This commit is contained in:
@@ -7,16 +7,16 @@ from pathlib import Path
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
PDF_READER: str = "pypdf"
|
||||
PdfReader = None # type: ignore
|
||||
try:
|
||||
import fitz # pymupdf
|
||||
PDF_READER = "pymupdf"
|
||||
logger.info("PDF reader: pymupdf (high performance)")
|
||||
except ImportError:
|
||||
try:
|
||||
from pypdf import PdfReader # type: ignore
|
||||
from pypdf import PdfReader # type: ignore # noqa: F811
|
||||
logger.info("PDF reader: pypdf (pure Python)")
|
||||
except ImportError:
|
||||
PdfReader = None # type: ignore
|
||||
logger.warning("No PDF reader available — install pypdf or pymupdf")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user