fix: veraPDF-FAIL respektiert original_on_success, Logverzeichnis raus (v0.4.1)
- Bei fehlgeschlagener veraPDF-Validierung wurde das Original bisher bedingungslos geloescht. Es folgt jetzt derselben [output].original_on_success-Regel wie im Erfolgsfall, damit "archive" das Original nicht ausgerechnet im Fehlerfall verliert. - Das nie benutzte Logverzeichnis /var/log/pdf-ocr-hotfolder/ wird nicht mehr angelegt; der Dienst loggt ausschliesslich nach journald. README und Briefing nennen stattdessen die journalctl-Kommandos. - 3 neue Tests (95 gesamt) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -133,8 +133,17 @@ def process_pdf(
|
||||
if vera_cfg.enabled:
|
||||
vera_ok = run_verapdf(work_out, vera_cfg)
|
||||
if not vera_ok:
|
||||
# Das OCR-Ergebnis ist unbrauchbar und wandert nach error/. Das
|
||||
# Original wird aber NICHT bedingungslos gelöscht: es folgt derselben
|
||||
# [output].original_on_success-Regel wie im Erfolgsfall, sonst
|
||||
# verliert man es ausgerechnet im Fehlerfall (archive!).
|
||||
_move_to_error(work_out, error_dir)
|
||||
work_src.unlink(missing_ok=True)
|
||||
_dispose_original(work_src, src.name, output_cfg)
|
||||
log.error(
|
||||
"veraPDF FAIL: %s — OCR-Ergebnis nach %s verschoben, Original %s",
|
||||
src.name, error_dir,
|
||||
"archiviert" if output_cfg.original_on_success == "archive" else "gelöscht",
|
||||
)
|
||||
return ProcessResult(src, final_out, False,
|
||||
"verapdf validation failed", verapdf_passed=False)
|
||||
|
||||
@@ -145,7 +154,11 @@ def process_pdf(
|
||||
|
||||
|
||||
def _dispose_original(work_src: Path, original_name: str, cfg: OutputConfig) -> None:
|
||||
"""Entsorgt das Original nach erfolgreichem OCR — löschen oder archivieren."""
|
||||
"""Entsorgt das Original laut [output].original_on_success — löschen oder archivieren.
|
||||
|
||||
Wird nach erfolgreichem OCR aufgerufen und ebenso, wenn veraPDF die
|
||||
Validierung ablehnt: auch dann soll `archive` das Original erhalten.
|
||||
"""
|
||||
if not work_src.exists():
|
||||
return
|
||||
mode = cfg.original_on_success
|
||||
|
||||
Reference in New Issue
Block a user