feat: --output Flag für dry-run + Dokumentation aktualisiert

- ingest_V2.py: --output Flag zum Speichern des normalisierten Markdowns
- Auto-Output: <originalname>_normalized.md wenn kein --output angegeben
- README: --output in Flags-Tabelle + Verwendungsbeispiele ergänzt
This commit is contained in:
cbazza committed 2026-04-29 11:08:26 +02:00
1 parent de9c529333
commit 009e9b7bad
2 files changed
+23 -1

No files matched your search

+16 -1
View File
@@ -174,6 +174,7 @@ def ingest_file(
normalize_doc: bool = True,
dry_run: bool = False,
quality_min: float = 0.0,
output_path: str = "",
) -> bool:
path = Path(file_path).resolve()
@@ -258,6 +259,16 @@ def ingest_file(
print("\n" + "─" * 60)
print(text_to_index[:600] + ("..." if len(text_to_index) > 600 else ""))
print("─" * 60)
# ── Output in Datei schreiben ────────────────────────────────────────
if output_path:
out = Path(output_path)
out.write_text(text_to_index, encoding="utf-8")
print(f" 💾 Gespeichert: {out}")
elif norm["was_normalized"]:
# Auto-Output: <originalname>_normalized.md im gleichen Verzeichnis
auto_out = path.parent / (path.stem + "_normalized.md")
auto_out.write_text(text_to_index, encoding="utf-8")
print(f" 💾 Auto-gespeichert: {auto_out}")
return True
# ── 5. Datenbank ─────────────────────────────────────────────────────────
@@ -445,6 +456,8 @@ Beispiele:
help="Mindest-Qualitäts-Score (Standard: 0.0)")
common.add_argument("--dry-run", action="store_true",
help="Nur extrahieren + normalisieren, nicht speichern")
common.add_argument("--output", metavar="PFAD",
help="Normalisiertes Markdown in diese Datei schreiben (nur bei --dry-run)")
pf = sub.add_parser("file", parents=[common], help="Einzelne Datei importieren")
pf.add_argument("path", help="Pfad zur Datei")
@@ -470,9 +483,11 @@ def main():
dry_run = getattr(args, "dry_run", False)
quality_min = getattr(args, "quality_min", 0.0)
output_path = getattr(args, "output", "") or ""
if args.command == "file":
ingest_file(args.path, force=force, normalize_doc=do_normalize,
dry_run=dry_run, quality_min=quality_min)
dry_run=dry_run, quality_min=quality_min, output_path=output_path)
elif args.command == "dir":
ingest_directory(args.path, force=force, normalize_doc=do_normalize,
dry_run=dry_run, quality_min=quality_min)