[DDTSS]: piccolo script per caricare i primi X pacchetti della lista PopconRank
I tedeschi ci hanno dichiarato guerra ;-) nella nuova statistica
PopconRank e stanno cercando di mantenere il primato!
Ho fatto un piccolo script per poter caricare i primi pacchetti non
tradotti che fanno parte della PopconRank.
Ci sono delle operazioni che possono essere eseguite ogni tanto e poi
c'è lo script di caricamento dei pacchetti.
Prima di tutto bisogna scaricare il file popcorn (questa operazione può
essere fatta abbastanza di rado o anche una sola volta)
$ wget "http://popcon.debian.org/by_vote
e poi creare il file by_vote_lista usato dallo script:
$ grep -v "^#" by_vote | \
sed "s/^[0-9]* *\([^ ]*\).*$/\1/g" > by_vote_lista
scaricare l'elenco delle traduzioni (questa operazione è meglio farla
ogni tot di giorni o settimane per velocizzare lo script):
$ wget
http://ftp.it.debian.org/debian/dists/sid/main/i18n/Translation-$Locale.bz2"
e poi creare il file elenco_pacchetti_tradotti.txt
$ grep "^Package:" Translation-it | sed "s/Package: //" \
> elenco_pacchetti_tradotti.txt
ed infine lo script: carica_PopconRank.sh
Nota: modificare Numero_pacchetti_da_caricare per variare il numero
pacchetti da caricare... non esagerare, caricare quanti pacchetti si
intendono tradurre!
-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<
#!/bin/bash
# CopyRight (C) 2009, 2011 Davide Prina
# version: 0.02
# E-Mail: Davide . Prina @ gmail . com
# license: AGPL 3.0 or above
# Storia delle versioni:
# 0.01 - 2009: versione iniziale, carica i primi 500 popcorn
# 0.02 - 2011: adattato alla nuova versione del file by_vote
# fatto in modo che vengano caricati soltanto i pacchetti non
# ancora tradotti
Numero_pacchetti_da_caricare=10
TmpFile="filetemporaneo.tmp"
FetchURI="http://ddtp.debian.net/ddtss/index.cgi/it/fetch"
Conta=0
for PackageName in $(cat by_vote_lista); do
if [[ $(grep "^$PackageName$" elenco_pacchetti_tradotti.txt | wc -l) \
-eq 0 ]]; then
echo -ne "\rPacchetto da tradurre: $PackageName "
curl -d package="$PackageName" -o $TmpFile $FetchURI 2> /dev/null
if [[ $(grep successfully $TmpFile | wc -l) -eq 1 ]]; then
echo -e "\rCaricato: $PackageName "
Conta=$((Conta+1))
sleep 5
fi
else
echo -ne "\rGià presente:$ PackageName "
fi
if [[ Conta -gt $Numero_pacchetti_da_caricare ]]; then
exit
fi
done
-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<
Ciao
Davide
--
Dizionari: http://linguistico.sourceforge.net/wiki
Browser: http://www.mozilla.org/products/firefox
GNU/Linux User: 302090: http://counter.li.org
Non autorizzo la memorizzazione del mio indirizzo su outlook
Reply to: