1616
1717Aufruf (im Repo, im Branch, dessen Projekt gemeint ist):
1818 python _tools/tx_activity.py --probe # erst die API-Form klaeren
19- python _tools/tx_activity.py --bestand # was wuerde ein Force-Push loeschen?
19+ python _tools/tx_activity.py --bestand # Repo gegen Transifex stellen:
20+ # was loescht ein Force-Push,
21+ # und was ist dort nie angekommen?
2022 python _tools/tx_activity.py # letzte 7 Tage
2123 python _tools/tx_activity.py --tage 1
2224 python _tools/tx_activity.py --ohne-upload # eigene Pushes ausblenden
@@ -434,11 +436,17 @@ def bestand(org: str, projekt: str, karte: dict, wurzel: Path, tok: str,
434436 solche, die aelter sind als jedes Aktivitaetsfenster. Die Sammel-
435437 statistik beantwortet das fuer das ganze Projekt in vier Anfragen.
436438
437- Rueckgabe: Anzahl der Ressourcen, bei denen wir Inhalt verlieren.
439+ Umgekehrt zeigt derselbe Vergleich, wo Transifex *weniger* hat als
440+ wir: dort ist unser Push nicht angekommen. Ein tx-Push kann ohne
441+ Fehlermeldung wirkungslos bleiben, deshalb ist das die verlaessliche
442+ Probe nach einem Lauf von tx_push_all.sh.
443+
444+ Rueckgabe: Anzahl der Ressourcen, bei denen eine der beiden Seiten
445+ hinter der anderen liegt.
438446 """
439447 params = {"filter[project]" : f"o:{ org } :p:{ projekt } " ,
440448 "filter[language]" : "l:de" }
441- zeilen , fehlen = [], []
449+ zeilen , fehlen , rueckstand = [], [], []
442450 tx_summe = repo_summe = 0
443451
444452 for e in seiten ("/resource_language_stats" , params , tok ):
@@ -457,23 +465,51 @@ def bestand(org: str, projekt: str, karte: dict, wurzel: Path, tok: str,
457465 repo_summe += repo_ue
458466 if tx_ue > repo_ue :
459467 zeilen .append ((tx_ue - repo_ue , datei , slug , tx_ue , repo_ue , tx_ges ))
468+ elif repo_ue > tx_ue :
469+ # Wir haben mehr als Transifex: unser Push ist dort nicht
470+ # angekommen. Genau daran erkennt man einen stillen Fehlschlag.
471+ rueckstand .append ((repo_ue - tx_ue , datei , slug , tx_ue , repo_ue ,
472+ tx_ges ))
460473
461474 zeilen .sort (reverse = True )
475+ rueckstand .sort (reverse = True )
462476 verlust = sum (z [0 ] for z in zeilen )
477+ nachtrag = sum (z [0 ] for z in rueckstand )
463478
464479 aus = []
465480 aus .append (f"# Bestandsvergleich { org } :{ projekt } gegen das Repo\n " )
466481 aus .append (f"- Transifex uebersetzt (gesamt): { tx_summe } " )
467482 aus .append (f"- Repo uebersetzt (gesamt): { repo_summe } " )
468483 aus .append (f"- Dateien mit Verlustgefahr: { len (zeilen )} " )
469- aus .append (f"- Strings, die ein Force-Push loeschen wuerde: { verlust } \n " )
484+ aus .append (f"- Strings, die ein Force-Push loeschen wuerde: { verlust } " )
485+ aus .append (f"- Dateien, bei denen Transifex hinter uns liegt: "
486+ f"{ len (rueckstand )} " )
487+ aus .append (f"- Strings, die dort noch fehlen: { nachtrag } \n " )
470488 if zeilen :
471489 aus .append ("| Datei | Ressource | TX | Repo | Verlust | TX gesamt |" )
472490 aus .append ("|---|---|---:|---:|---:|---:|" )
473491 for d , datei , slug , tx_ue , repo_ue , tx_ges in zeilen :
474492 aus .append (f"| `{ datei } ` | { slug } | { tx_ue } | { repo_ue } | **{ d } ** | { tx_ges } |" )
475493 else :
476494 aus .append ("Keine Datei, bei der Transifex mehr hat als wir." )
495+ if rueckstand :
496+ aus .append ("\n ## Noch nicht in Transifex angekommen\n " )
497+ aus .append ("Hier hat das Repo mehr uebersetzte Strings als Transifex. "
498+ "Diese Dateien\n sind entweder nie gepusht worden oder ihr "
499+ "Push ist stillschweigend\n fehlgeschlagen.\n " )
500+ aus .append ("| Datei | Ressource | TX | Repo | fehlt | TX gesamt |" )
501+ aus .append ("|---|---|---:|---:|---:|---:|" )
502+ for d , datei , slug , tx_ue , repo_ue , tx_ges in rueckstand :
503+ aus .append (f"| `{ datei } ` | { slug } | { tx_ue } | { repo_ue } | "
504+ f"**{ d } ** | { tx_ges } |" )
505+ aus .append ("\n Nachschieben mit:" )
506+ aus .append ("```" )
507+ for _ , _ , slug , _ , _ , _ in rueckstand [:20 ]:
508+ aus .append (f"./_tools/tx_push_all.sh --nur { slug } " )
509+ aus .append ("```" )
510+ else :
511+ aus .append ("\n Transifex liegt bei keiner Datei hinter dem Repo -- "
512+ "alles angekommen." )
477513 if fehlen :
478514 aus .append (f"\n Nicht in .tx/config ({ len (fehlen )} ): "
479515 + ", " .join (f"{ s } ({ n } )" for s , n in sorted (fehlen )[:20 ]))
@@ -484,7 +520,7 @@ def bestand(org: str, projekt: str, karte: dict, wurzel: Path, tok: str,
484520 print (f"Bericht geschrieben: { ziel } " , file = sys .stderr )
485521 else :
486522 print (text )
487- return len (zeilen )
523+ return len (zeilen ) + len ( rueckstand )
488524
489525
490526def probe_anfrage (was : str , pfad : str , params : dict , tok : str ) -> tuple :
0 commit comments