From 2c6e7b4d347fcd6317a3ddc78f55d45813f1a544 Mon Sep 17 00:00:00 2001 From: Ben_Kosytorz Date: Tue, 6 Oct 2026 16:52:55 +0200 Subject: [PATCH] sorter: skip hidden trees (.broken) in the plan; treat extract_manifest.jsonl as run artifact --- dlphelper/sorter.py | 1 + sorter.py | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/dlphelper/sorter.py b/dlphelper/sorter.py index d4dca5c..7318738 100644 --- a/dlphelper/sorter.py +++ b/dlphelper/sorter.py @@ -41,6 +41,7 @@ RUN_ARTIFACTS = { "failed_urls.txt", "catalogue.md", "catalogue.jsonl", "sorter_applied.jsonl", "catalogue_moves.jsonl", "urls.txt", "urls_0807.txt", "urls_gofile.txt", "failed_0807.txt", + "extract_manifest.jsonl", } diff --git a/sorter.py b/sorter.py index b07d5f3..365ae57 100644 --- a/sorter.py +++ b/sorter.py @@ -64,7 +64,11 @@ def main() -> None: datefmt="%H:%M:%S") source = args.source - files = [source] if source.is_file() else sorted(source.rglob("*")) + files = [source] if source.is_file() else sorted( + p for p in source.rglob("*") + # hidden trees like .broken/ must never reach the plan + if not any(part.startswith(".") for part in p.relative_to(source).parts) + ) catalog = load_catalog(args.catalog) audit = args.audit or (args.library / "sorter_applied.jsonl")