fix: статус «не распознан» + лог ошибок удаления
This commit is contained in:
@@ -92,12 +92,20 @@ def store_document(filename: str, file_data: bytes, contract_id: str = "",
|
|||||||
if contract_id:
|
if contract_id:
|
||||||
try:
|
try:
|
||||||
supplements.delete_by_document(contract_id, filename)
|
supplements.delete_by_document(contract_id, filename)
|
||||||
except Exception:
|
except Exception as e:
|
||||||
pass
|
import logging
|
||||||
|
logging.getLogger(__name__).warning("delete_by_document failed: %s", e)
|
||||||
|
|
||||||
doc = documents.insert(filename, mime, b64, batch_id=batch_id, zip_source=zip_source,
|
doc = documents.insert(filename, mime, b64, batch_id=batch_id, zip_source=zip_source,
|
||||||
content_hash=content_hash)
|
content_hash=content_hash)
|
||||||
|
|
||||||
|
parsed = parse_file(filename, file_data)
|
||||||
|
if parsed and parsed.get("status") == "parsed":
|
||||||
|
documents.set_parsed(doc["id"], parsed["elements"])
|
||||||
|
elif parsed and parsed.get("status") == "error":
|
||||||
|
documents.set_error(doc["id"], parsed.get("error", "parse failed"))
|
||||||
|
return {"ok": False, "error": f"parse failed: {parsed.get('error')}", "doc_id": doc["id"]}
|
||||||
|
|
||||||
if not contract_id:
|
if not contract_id:
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
now = datetime.now()
|
now = datetime.now()
|
||||||
@@ -109,12 +117,6 @@ def store_document(filename: str, file_data: bytes, contract_id: str = "",
|
|||||||
|
|
||||||
supplements.insert(contract_id, doc["id"], supp_type)
|
supplements.insert(contract_id, doc["id"], supp_type)
|
||||||
|
|
||||||
parsed = parse_file(filename, file_data)
|
|
||||||
if parsed and parsed.get("status") == "parsed":
|
|
||||||
documents.set_parsed(doc["id"], parsed["elements"])
|
|
||||||
elif parsed and parsed.get("status") == "error":
|
|
||||||
documents.set_error(doc["id"], parsed.get("error", "parse failed"))
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"ok": True,
|
"ok": True,
|
||||||
"doc_id": doc["id"],
|
"doc_id": doc["id"],
|
||||||
@@ -122,6 +124,7 @@ def store_document(filename: str, file_data: bytes, contract_id: str = "",
|
|||||||
"filename": filename,
|
"filename": filename,
|
||||||
"size": len(file_data),
|
"size": len(file_data),
|
||||||
"parsed": parsed,
|
"parsed": parsed,
|
||||||
|
"warning": "file may be unreadable" if not parsed or not parsed.get("element_count") else None,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user