document-image-extractor/document_image_extractor/report.py

52 lines
1.8 KiB
Python

import logging
from typing import Dict
logger = logging.getLogger("document_image_extractor")
def log_file_report(filename: str, stats: Dict) -> None:
if stats.get("skipped"):
logger.warning("%s: %s", filename, stats.get("reason"))
return
if "error" in stats:
logger.error("%s: %s", filename, stats["error"])
return
if stats.get("saved", 0) > 0:
logger.info(
"%s | found=%s, saved=%s, dupes=%s, filtered_small=%s, filtered_dims=%s, errors=%s",
filename,
stats.get("found", 0),
stats.get("saved", 0),
stats.get("duplicates", 0),
stats.get("filtered_small", 0),
stats.get("filtered_dims", 0),
stats.get("errors", 0),
)
else:
logger.warning(
"%s | No hay imágenes válidas | found=%s, dupes=%s, filtered_small=%s, filtered_dims=%s, errors=%s",
filename,
stats.get("found", 0),
stats.get("duplicates", 0),
stats.get("filtered_small", 0),
stats.get("filtered_dims", 0),
stats.get("errors", 0),
)
def accumulate_totals(total: Dict[str, int], stats: Dict) -> None:
for k in total:
total[k] += int(stats.get(k, 0))
def log_summary(files: int, skipped: int, failed: int, total: Dict[str, int]) -> None:
logger.info("=== RESUMEN ===")
logger.info(
"files=%s, skipped=%s, failed=%s | found=%s, saved=%s, dupes=%s, filtered_small=%s, filtered_dims=%s, errors=%s",
files, skipped, failed,
total.get("found", 0),
total.get("saved", 0),
total.get("duplicates", 0),
total.get("filtered_small", 0),
total.get("filtered_dims", 0),
total.get("errors", 0),
)