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:
parent
d5d729650b
commit
7757e33a97
6 changed files with 61 additions and 10 deletions
25
PROGRESS.md
25
PROGRESS.md
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue