diff --git a/site/parser.py b/site/parser.py index be3ad49..e6a9053 100644 --- a/site/parser.py +++ b/site/parser.py @@ -123,30 +123,6 @@ def _parse_doc(file_bytes: bytes) -> dict: def _parse_pdf(file_bytes: bytes) -> dict: result = {"elements": [], "errors": []} - - # Попробовать camelot (pdfium, без системных зависимостей) - tables_from_camelot = False - try: - import camelot - for flavor in ("lattice", "stream"): - try: - ctables = camelot.read_pdf(io.BytesIO(file_bytes), pages="all", flavor=flavor) - for ct in ctables: - rows = [list(ct.df.columns)] + ct.df.values.tolist() - result["elements"].append({ - "type": "table", - "rows": rows, - "page": ct.page, - }) - tables_from_camelot = True - except Exception: - pass - except ImportError: - result["errors"].append("camelot not installed, using pdfplumber") - except Exception as e: - result["errors"].append(f"camelot error: {e}") - - # pdfplumber: текст + таблицы (если tabula не сработал) try: import pdfplumber with pdfplumber.open(io.BytesIO(file_bytes)) as pdf: @@ -163,18 +139,16 @@ def _parse_pdf(file_bytes: bytes) -> dict: "text": line, "page": pn, }) - if not tables_from_camelot: - tables = page.extract_tables() - for tbl in tables: - if tbl: - result["elements"].append({ - "type": "table", - "rows": tbl, - "page": pn, - }) + tables = page.extract_tables() + for tbl in tables: + if tbl: + result["elements"].append({ + "type": "table", + "rows": tbl, + "page": pn, + }) except Exception as e: result["errors"].append(f"pdfplumber: {e}") - return result diff --git a/site/templates/upload.html b/site/templates/upload.html index 04f10e6..eeea7e9 100644 --- a/site/templates/upload.html +++ b/site/templates/upload.html @@ -59,7 +59,7 @@
Nubes - Сверка договоров v1.35 + Сверка договоров v1.36