feat: von Hand nachbearbeitete Ausgabe wird nicht mehr überschrieben

abschrift_korrigieren.py merkt sich die Prüfsumme der geschriebenen
Ausgabe in <Ausgabe>.parts/ausgabe.sha256. Weicht die vorhandene Datei
davon und vom neuen Ergebnis ab, bleibt sie erhalten; das Ergebnis kommt
nach <Name>.neu.korrigiert.txt (mit eigenem Bericht) und es gibt eine
Warnung. --ueberschreiben ersetzt die Datei trotzdem.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-10-11 21:57:12 +02:00
commit 37e4a2bca0

View file

@ -524,9 +524,22 @@ neu, was sich geändert hat:
- Die Absatzgliederung wird für geänderte Textstellen ebenfalls neu bestimmt; das
geht schnell.
Von Hand nachbearbeitete `*.korrigiert.txt` werden bei einem erneuten Lauf
**überschrieben**. Handarbeit deshalb erst ganz am Ende machen oder die Datei vorher
unter anderem Namen sichern.
**Handarbeit bleibt erhalten.** Wurde `rede.korrigiert.txt` seit dem letzten Lauf
von Hand geändert, überschreibt ein erneuter Lauf sie nicht. Das neue Ergebnis kommt
dann nach `rede.neu.korrigiert.txt` (Bericht: `rede.neu.aenderungen.html`), mit
einer Warnung:
```text
WARNUNG: rede.korrigiert.txt wurde seit dem letzten Lauf geändert (von Hand?) und bleibt erhalten. Neues Ergebnis: rede.neu.korrigiert.txt (mit --ueberschreiben wird die Datei ersetzt)
```
Die eigenen Änderungen lassen sich dann mit einem Vergleichsprogramm übertragen,
z. B. `meld rede.korrigiert.txt rede.neu.korrigiert.txt`. Soll die Handarbeit
verworfen werden: `--ueberschreiben` angeben.
Das Programm erkennt Handarbeit an einer Prüfsumme in `rede.korrigiert.parts/`.
Fehlt sie (erster Lauf mit dieser Version, Ordner gelöscht), gilt jede abweichende
vorhandene Datei als von Hand geändert.
---
@ -618,7 +631,7 @@ Beispiel für `-i rede.txt` bzw. `-o rede.korrigiert.txt`:
| Datei | Inhalt | Wird überschrieben? |
|---|---|---|
| `rede.txt` | Rohtext (bei `-u` automatisch gespeichert) | nie, wenn sie schon mit anderem Inhalt existiert (dann Warnung) |
| `rede.korrigiert.txt` | korrigierte Abschrift | ja, bei jedem Lauf |
| `rede.korrigiert.txt` | korrigierte Abschrift | ja, außer sie wurde von Hand geändert (dann `rede.neu.korrigiert.txt`, siehe [Abschnitt 9](#9-schritt-5-nachbessern-und-erneut-laufen-lassen)) |
| `rede.aenderungen.html` | Änderungsbericht | ja, bei jedem Lauf |
| `rede.korrigiert.parts/` | Zwischenstände | wird ergänzt; darf jederzeit gelöscht werden |
| `rede.glossar.entwurf.txt` | Glossar-Entwurf von `glossar_vorschlag.py` | ja |
@ -693,6 +706,7 @@ Weitere Einstellungen (Abschnittsgröße, Absatzlängen, Schwellen) sind in der
| `Die Eingabedatei ist leer.` | Datei prüfen. |
| `Ausgabedatei darf nicht die Eingabedatei sein.` | Mit `-o` einen anderen Namen wählen. |
| `Glossar nicht gefunden: …` | Pfad bei `-g` prüfen. |
| `WARNUNG: rede.korrigiert.txt wurde seit dem letzten Lauf geändert (von Hand?) …` | Die Datei wurde nachbearbeitet und bleibt erhalten; das neue Ergebnis steht in `rede.neu.korrigiert.txt`. Änderungen übertragen oder mit `--ueberschreiben` ersetzen, siehe [Abschnitt 9](#9-schritt-5-nachbessern-und-erneut-laufen-lassen). |
| `WARNUNG: rede.txt existiert mit anderem Inhalt und bleibt unverändert.` | Bei `-u` wird ein vorhandener, z. B. von Hand bearbeiteter Rohtext nie überschrieben. Korrigiert wird trotzdem der frisch geladene Text. Wer den neuen Rohtext braucht, die alte Datei umbenennen. |
| `WARNUNG: Abschnitt 3: 1180 → 1090 Wörter (8% Abweichung) …` | Das Modell hat möglicherweise etwas ausgelassen oder ergänzt. Abschnitt im Bericht prüfen. Bei Bedarf die genannte Datei in `.parts/` löschen und erneut laufen lassen. |
| `Abschnitt 3 wurde abgeschnitten. CHUNK_SIZE verkleinern und erneut starten.` | Die Antwort des Modells war zu lang. `CHUNK_SIZE` oben in `abschrift_korrigieren.py` verkleinern (z. B. 900). |
@ -763,6 +777,7 @@ einfügen.
| `-z BEREICH …` | nur diese Zeitbereiche (mit `.vtt` oder `-u`) |
| `--exakt` | genau an den Zeiten schneiden |
| `--kein-bericht` | keinen Änderungsbericht schreiben |
| `--ueberschreiben` | von Hand geänderte Ausgabedatei trotzdem ersetzen |
### `extract_text.py`