[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Des stats, et exercice de shell scripting (fut: 20030826 : état des bascules à po-debconf...)



Hello, avec le script de nico [1] et les merveilleux jouets de Denis pour
generer les pages web [2], j'ai fait le script en attachement. Son role est
de prendre un fichier au format bizarre de Christian, aller chercher sur le
web l'etat actuel des traductions tel qu'extrait par Denis pour faire les
pages webs, et merger le tout dans un beau fichier suivant la syntaxe
RFC822.

Pour jouer chez vous, il faut editer le script en attachement, pret du debut,
pour mettre le chemin jusqu'a l'arbre cvs du web debian sur votre machine,
et editer la ligne 58 de webwml/Perl/Webwml/L10n/Db.pm pour ajouter 'Switch'
a la liste et dire c'est un champ valide pour nous.

Ensuite, on peut utiliser grep-dctrl sur le resultat (/tmp/output) pour
extraire toutes les stats que l'on veut.

$ grep-dctrl -F TEMPLATES . /tmp/output | grep-dctrl -F Switch . -v -c
348

Ah, il reste 348 paquets ayant des templates old-school comme disent les
rappeurs, et dont on ne parle pas dans les switch. Pour avoir la liste, faut
virer le -c a la fin de la ligne.

Pour connaitre la somme de chaine qu'ils representent, c'est un peu plus
complique [ceci est un script bash commente. Virez ce qui est entre
parenthese pour vous assurer que '\' est le dernier caractere de sa ligne]:

tot=0
grep-dctrl -F TEMPLATES . /tmp/output | \
grep-dctrl -F Switch . -v -s TEMPLATES| \
grep '!_!'| \ (ne garde que les equivalents des pot chez les templates)
sed 's/^.*!_!//'| sed 's/t.*$//' | \ (ne garde que le nb de chaines)
while read line ; do \ 
tot=`expr $tot + $line`; (somme le tout)
echo total: $tot;        (et affiche)
done

=> total: 1944

Ah ouais, quand meme, on est pas arrives. Boaf, d'ici sarge + 1, c'est facile.

$ grep-dctrl -F PODEBCONF . /tmp/output | \
  grep-dctrl -F Switch . -v -s Package
Package: aladin
Package: checksecurity
Package: clamav-getfiles
Package: console-log
Package: dump
Package: euro-support
Package: proofgeneral
Package: raidtools2
Package: remem
Package: remstats
Package: user-es

Tient, et pourquoi ces paquets sont dans switch alors qu'ils sont deja
passes a po-debconf ?

$ grep-dctrl -F PODEBCONF . /tmp/output |grep-dctrl -F Switch . -v -s Switch
Switch: Aladin   CP        205797 RESOLVED        206180 "Plus ""say no""
Switch: Checksecurity CP 205801 RELU 207117 "Pas d'autre traduc
Switch: Clamav-getfiles CP 205811 RESOLVED 206822 Template booléen incorrect corrigé
Switch: Console-log CP 205768 RESOLVED 207053
Switch: dump  CP (PB)        200125 RESOLVED        200125 		
Switch: Euro-support                  CP (DB)        200118 RESOLVED 200118 				      
Switch: Proofgeneral                       MG                    DDR    		
Switch: Raidtools2                       MG                   RELU  				
Switch: Remem                       MG                   RELU               				
Switch: Remstats               MG        203663     RELU 203664 				       
Switch: user-es                       MG        199262     RELU        199978 		

Oh, on dirait que la base de Christian n'est pas tres tres a jour :)

$ grep-dctrl -F PODEBCONF . /tmp/output |grep-dctrl -F TEMPLATES .
[rien]

Ah, cool, aucun paquet n'utilise les deux systemes a la fois :)

Amusez vous bien, Mt.

[1]:
http://lists.debian.org/debian-l10n-french/2003/debian-l10n-french-200307/msg00350.html

[2]: Dans tout bon arbre CVS des pages web un peu propre sur soit.

-- 
Every day of my life I am forced to add another name to the list of people 
who piss me off!
    --- Calvin

Attachment: parse-christian.pl
Description: Perl program


Reply to: