veroeffentliche_04.py: leserliche Ausgabe, 404-Probe entfernt

Der erste Alltagseinsatz zeigte drei Schoenheitsfehler, alle in der Ausgabe.

Der Bericht stand verkehrt herum: Die rsync-Zeilen erschienen VOR "Ziel:" und
"Vorpruefung bestanden". Python puffert seine Ausgabe blockweise, sobald sie
nicht an ein Terminal geht, waehrend der Unterprozess unmittelbar schreibt.
sys.stdout.reconfigure(line_buffering=True) stellt die Reihenfolge her.

150 Zeilen fuer eine uebertragene Datei: --itemize-changes lief auch im echten
Durchgang mit, obwohl der Probelauf schon berichtet hatte, was passieren wird.
149 der 150 Zeilen besagten nur ".f..t......" - Inhalt gleich, nur Zeitstempel
nachgezogen, die erwartbare Folge von --checksum. Die Auflistung bleibt jetzt
dem Probelauf vorbehalten.

Der Ersatz war zuerst schlimmer als das Problem: --info=progress2 zeigt am
Terminal eine sich selbst ueberschreibende Zeile, in einer Pipe dagegen jeden
Zwischenstand einzeln - gemessen 213 Zeilen fuer 213 Dateien. Die Anzeige
haengt jetzt an sys.stdout.isatty().

Ausserdem: Die 404-Probe auf anhang-glossar-literatur.html ist entfernt. Die
Datei ist geloescht - im Arbeitsbaum, in Git und auf dem Server -, und die
Probe koennte einen Rueckschritt gar nicht mehr entdecken: Sie bliebe auch
dann gruen, wenn jemand --delete aus dem rsync-Aufruf naehme. Was sie belegt
hat, steht in PROGRESS.md. Von vierzehn Adressen bleiben dreizehn.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
dschlueter 2026-09-08 20:04:53 +02:00
commit 7757e33a97
6 changed files with 61 additions and 10 deletions

View file

@ -2233,6 +2233,31 @@ folgt jetzt der Quelle.
Damit ist jede der vier Stellen abgesichert: eine ist die Quelle, zwei werden daraus erzeugt,
eine wird geprüft.
### ✅ Der Upload berichtet jetzt leserlich
Der erste Alltagseinsatz des Skripts zeigte drei Schönheitsfehler, alle in der Ausgabe.
**Der Bericht stand verkehrt herum.** Die `rsync`-Zeilen erschienen *vor* „Ziel:" und
„Vorprüfung bestanden". Ursache: Python puffert seine Ausgabe blockweise, sobald sie nicht
an ein Terminal geht, während der Unterprozess unmittelbar schreibt. Ein
`sys.stdout.reconfigure(line_buffering=True)` in `main()` stellt die Reihenfolge her.
**150 Zeilen für eine übertragene Datei.** `--itemize-changes` lief auch im echten Durchgang
mit, obwohl der Probelauf längst berichtet hatte, was passieren wird. Von den 150 Zeilen
besagten 149 nur `.f..t......` — „Inhalt gleich, nur Zeitstempel nachgezogen", die
erwartbare Folge von `--checksum`. Die Auflistung bleibt jetzt dem Probelauf vorbehalten.
**Und der Ersatz war zuerst schlimmer als das Problem.** Statt der Liste sollte
`--info=progress2` eine einzige, sich selbst überschreibende Fortschrittszeile zeigen. Am
Terminal tut es das; in einer Pipe bleibt jeder Zwischenstand als eigene Zeile stehen —
gemessen **213 Zeilen für 213 Dateien**. Die Anzeige hängt deshalb an
`sys.stdout.isatty()`.
**Nebenbei aufgeräumt:** Die 404-Probe auf `anhang-glossar-literatur.html` ist entfernt. Sie
hat ihren Zweck erfüllt — aber einen Rückschritt könnte sie gar nicht mehr entdecken: Die
Datei ist gelöscht, die Probe bliebe auch dann grün, wenn jemand `--delete` aus dem
`rsync`-Aufruf nähme. Von den ursprünglich vierzehn Adressen bleiben dreizehn.
---
## 8. Commit-Historie des V04-Strangs