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

[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: