ℹ модальное окно с деталями парсинга (параграфы, таблицы, ошибки, превью), v1.10
This commit is contained in:
+19
-2
@@ -147,6 +147,23 @@ class ContractsApp:
|
||||
|
||||
supp_rows = [dict(zip(supps["columns"], r)) for r in supps["rows"]]
|
||||
|
||||
def _file_done(name, elapsed, elements, errors, text):
|
||||
paragraphs = sum(1 for e in elements if e.get("type") == "paragraph")
|
||||
tables = sum(1 for e in elements if e.get("type") == "table")
|
||||
table_rows = sum(len(e.get("rows", [])) for e in elements if e.get("type") == "table")
|
||||
return {
|
||||
"type": "file_done",
|
||||
"name": name,
|
||||
"time_s": elapsed,
|
||||
"elements": len(elements),
|
||||
"paragraphs": paragraphs,
|
||||
"tables": tables,
|
||||
"table_rows": table_rows,
|
||||
"errors": errors,
|
||||
"text_len": len(text) if text else 0,
|
||||
"text_preview": text[:200] if text else "",
|
||||
}
|
||||
|
||||
for s in supp_rows:
|
||||
# Пропустить уже распарсенные
|
||||
existing, _ = db.query(
|
||||
@@ -223,7 +240,7 @@ class ContractsApp:
|
||||
)
|
||||
zelapsed = round(time_mod.time() - zf_start, 2)
|
||||
files_processed += 1
|
||||
yield f"data: {json.dumps({'type': 'file_done', 'name': zname, 'time_s': zelapsed, 'elements': len(zelements)})}\n\n"
|
||||
yield f"data: {json.dumps(_file_done(zname, zelapsed, zelements, zpr.get('errors',[]), ztext))}\n\n"
|
||||
except Exception as e:
|
||||
yield f"data: {json.dumps({'type': 'file_error', 'name': zname, 'error': str(e)})}\n\n"
|
||||
|
||||
@@ -244,7 +261,7 @@ class ContractsApp:
|
||||
)
|
||||
elapsed = round(time_mod.time() - file_start, 2)
|
||||
files_processed += 1
|
||||
yield f"data: {json.dumps({'type': 'file_done', 'name': s['filename'], 'time_s': elapsed, 'elements': len(elements)})}\n\n"
|
||||
yield f"data: {json.dumps(_file_done(s['filename'], elapsed, elements, pr.get('errors',[]), text))}\n\n"
|
||||
|
||||
total_time = round(time_mod.time() - start_time, 2)
|
||||
yield f"data: {json.dumps({'type': 'summary', 'total_time_s': total_time, 'total_bytes': total_bytes, 'files_processed': files_processed})}\n\n"
|
||||
|
||||
Reference in New Issue
Block a user