Template:Statistiche manutenzioni/Script
Wikibooks, manuali e libri di testo liberi.
Qusto è lo script utilizzato per aggiornare la tabella del lavoro sporco.
Indice |
[modifica] Parametri
[modifica] -pagina:xxx
Il parametro pagina indica su quale pagina il bot deve lavorare ed inserire i dati.
Esempio: moduli.py -pagina:Utente:Gianlu4/Statistiche_manutenzioni
Nel fornire il nome della pagina gli spazi sono inutilizzabili (da sostituire con _ ).
[modifica] -noVer
Il parametro noVer indica al bot di non controllare la versione dello script.
Esempio: moduli.py -noVer
[modifica] -noPag
Il parametro noPag indica al bot di controllare doltanto la versione di moduli.py.
Esempio: moduli.py -noPag
[modifica] -visuale
Il parametro visuale indica al bot di restituire i risultati in locale e non aggiornando il template su wikibooks.
Esempio: moduli.py -visuale
[modifica] -msg:xxx
Il parametro msg indica al bot quale messaggio personalizzato fare apparire dopo il collegamento alla pagina dei Bot.
Esempio: moduli.py -msg:conto_lavoro_sporco
Lo script sostituisce automaticamente _ con uno spazio.
[modifica] -aiuto
Il parametro aiuto indica al bot di stampare a video una guida rapida all'utilizzo dello script.
Esempio: moduli.py -aiuto
[modifica] moduli.py v. 8.82
-
# -*- coding: utf-8 -*- -
-
""" -
-
############################################# -
# # -
# Distributed under the terms of the GFDL # -
# Created by [[it:b:User:G4]] # -
# # -
############################################# -
-
Description: -
This script is used for updating [[it:b:Template:Statistiche manutenzioni]] -
it counts the number of pages in each category of "Lavoro sporco" -
and puts them in the template -
-
""" -
-
import wikipedia, re
-
from catlib import Category
-
-
def main():
-
aiuto = False -
msg = "conto lavoro sporco" -
global controllo -
controllo = True -
global pagine -
pagine = True -
visuale = False -
global categorie -
categorie = [ u"Moduli 0%", u"Categoria da definire", u"Da controllare", u"Da controllare per copyright", u"Segnalazioni NPOV", u"Da aiutare", u"Da tradurre", u"Da unire", u"Da wikificare", u"Moduli 25%", u"Moduli 50%", u"Moduli 75%", u"Moduli 100%", u"Libri 0%", u"Libri 25%", u"Libri 50%", u"Libri 75%", u"Libri 100%"] -
for argomento in wikipedia.handleArgs(): -
if argomento.startswith("-pagina:"): -
pagina = wikipedia.Page(sito, argomento[8:]) -
if argomento.startswith("-noVer"): -
controllo = False -
if argomento.startswith("-noPag"): -
pagine = False -
if argomento.startswith("-visuale"): -
visuale = True -
pagine = False -
if argomento.startswith("-msg:"): -
msg = re.sub("_", " ", str(argomento[5:])) -
if argomento.startswith("-aiuto"): -
aiuto = True -
if (aiuto): -
help() -
if (controllo): -
aggiornamenti() -
if (pagine): -
statistiche(msg) -
if (visuale): -
vedi() -
-
def help():
-
wikipedia.output("\n HAI CHIESTO AIUTO\n\n") -
wikipedia.output("Questo script (creato da G4) conta le pagine di alcune categorie\n") -
wikipedia.output("di lavoro sporco e, grazie ad un apposito template, aggiorna le\n") -
wikipedia.output("statistiche relative\n\n") -
wikipedia.output("Lo script supporta i parametri:\n\n") -
wikipedia.output(" -aiuto (che stai utilizzando adesso)\n") -
wikipedia.output(" -noPag che comanda al bot di controllare soltanto la versione\n") -
wikipedia.output(" -noVer che comanda al bot di non controllare la versione\n") -
wikipedia.output(" -pagina: che comanda al bot di mettere il template in una pagina diversa\n") -
wikipedia.output(" -visuale che comanda al bot di stampare a video i risultati del conteggio\n") -
wikipedia.output(" -msg: che comanda al bot di dare un messaggio diverso dal solito (che deve") -
wikipedia.output(" essere messo dopo il nome del parametro. Il bot sostituirà") -
wikipedia.output(" automaticamente gli _ con spazi.\n") -
wikipedia.output("Grazie per aver usato l'aiuto di moduli.py\n") -
global pagine -
pagine = False -
global controllo -
controllo = False -
-
def aggiornamenti():
-
versione = u'8.82' -
sito = wikipedia.getSite(code='it',fam='wikibooks') -
pagVer = wikipedia.Page(sito, "Template:Statistiche manutenzioni/Script/Versione") -
ver = u'' + pagVer.get() -
if ver <= versione: -
wikipedia.output("\nNon sono state rilasciate nuove versioni di moduli.py (si sta usando la " + ver +")\n") -
else: -
wikipedia.output("\nE' USCITA UNA NUOVA VERSIONE DI MODULI.PY (la " + ver + ")\n") -
global pagine -
pagine = False -
-
def statistiche(messaggio):
-
sito = wikipedia.getSite(code='it',fam='wikibooks') -
global categorie -
pagina = wikipedia.Page(sito, u'Template:Statistiche manutenzioni') -
nuovo = u"{{Statistiche manutenzioni/Tabella\n" -
nuovo = nuovo + u"|Data={{subst:CURRENTDAY}} {{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}} {{subst:LOCALTIME}}\n" -
for k in categorie: -
corrente = Category(sito, 'Categoria:' + k) -
if k == u"Da controllare": -
catCount = len(corrente.articlesList(recurse=False)) -
else: -
catCount = len(corrente.articlesList(recurse=True)) -
k = re.sub("Moduli ", "", k) -
k = re.sub("Libri ", "L", k) -
nuovo = nuovo + "|" + k + "=" + str(catCount) + "\n" -
nuovo = speciali(nuovo, sito, "Orfane", "|Orfane=") -
nuovo = speciali(nuovo, sito, "Categorizzare", "|NoCat=") -
nuovo = speciali(nuovo, sito, "NoInterwiki", "|NoInterwiki=") -
nuovo = nuovo + "}}" -
nuovo = nuovo + u"\n<noinclude>[[Categoria:Coordinamento| ]]</noinclude>" -
pagina.put(nuovo, "[[Wikibooks:Bot|Bot]]: " + messaggio) -
-
def speciali(vecchio, sito, cosa, stringa):
-
if (cosa == "Orfane"): -
speciale = sito.lonelypages(number = 10000, repeat = False) -
if (cosa == "Categorizzare"): -
speciale = sito.uncategorizedpages(number = 10000, repeat = False) -
if (cosa == "NoInterwiki"): -
speciale = sito.withoutinterwiki(number = 10000, repeat = False) -
k = 0 -
for i in speciale: -
k = k + 1 -
nuovo = vecchio + stringa + str(k) + u"\n" -
return nuovo -
-
def vedi():
-
sito = wikipedia.getSite(code='it',fam='wikibooks') -
global categorie -
nuovo = u"\n\n" -
for k in categorie: -
corrente = Category(sito, 'Categoria:' + k) -
catCount = len(corrente.articlesList(recurse=True)) -
nuovo = nuovo + k + ": " + str(catCount) + "\n" -
nuovo = speciali2(nuovo, sito, "Orfane", "Orfane: ") -
nuovo = speciali2(nuovo, sito, "Categorizzare", "Da categorizzare: ") -
nuovo = speciali2(nuovo, sito, "NoInterwiki", "Senza Interwiki: ") -
nuovo = nuovo + u"\n" -
wikipedia.output(nuovo) -
-
def speciali2(vecchio, sito, cosa, stringa):
-
if (cosa == "Orfane"): -
speciale = sito.lonelypages(number = 10000, repeat = False) -
if (cosa == "Categorizzare"): -
speciale = sito.uncategorizedpages(number = 10000, repeat = False) -
if (cosa == "NoInterwiki"): -
speciale = sito.withoutinterwiki(number = 10000, repeat = False) -
k = 0 -
for i in speciale: -
k = k + 1 -
nuovo = vecchio + stringa + str(k) + u"\n" -
return nuovo -
-
if __name__ == "__main__":
-
try: -
main() -
finally: -
wikipedia.stopme()
[modifica] moduli.py versione toolserver
-
# -*- coding: utf-8 -*- -
-
""" -
-
############################################# -
# # -
# Distributed under the terms of the GFDL # -
# Created by [[it:b:User:G4]] # -
# # -
############################################# -
-
Description: -
This script is used for updating [[it:b:Template:Statistiche manutenzioni]] -
it counts the number of pages in each category of "Lavoro sporco" -
and puts them in the template -
-
""" -
-
import wikipedia, re
-
from catlib import Category
-
-
def main():
-
msg = "conto lavoro sporco" -
global pagine -
pagine = True -
global categorie -
categorie = [ u"Moduli 0%", u"Categoria da definire", u"Da controllare", u"Da controllare per copyright", u"Segnalazioni NPOV", u"Da aiutare", u"Da tradurre", u"Da unire", u"Da wikificare", u"Moduli 25%", u"Moduli 50%", u"Moduli 75%", u"Moduli 100%", u"Libri 0%", u"Libri 25%", u"Libri 50%", u"Libri 75%", u"Libri 100%"] -
-
aggiornamenti() -
if (pagine): -
statistiche(msg) -
-
def aggiornamenti():
-
versione = u'8.82' -
sito = wikipedia.getSite(code='it',fam='wikibooks') -
pagVer = wikipedia.Page(sito, "Template:Statistiche manutenzioni/Script/Versione") -
ver = u'' + pagVer.get() -
if ver > versione: -
global pagine -
pagine = False -
-
def statistiche(messaggio):
-
sito = wikipedia.getSite(code='it',fam='wikibooks') -
global categorie -
pagina = wikipedia.Page(sito, u'Template:Statistiche manutenzioni') -
nuovo = u"{{Statistiche manutenzioni/Tabella\n" -
nuovo = nuovo + u"|Data={{subst:CURRENTDAY}} {{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}} {{subst:LOCALTIME}}\n" -
for k in categorie: -
corrente = Category(sito, 'Categoria:' + k) -
if k == u"Da controllare": -
catCount = len(corrente.articlesList(recurse=False)) -
else: -
catCount = len(corrente.articlesList(recurse=True)) -
k = re.sub("Moduli ", "", k) -
k = re.sub("Libri ", "L", k) -
nuovo = nuovo + "|" + k + "=" + str(catCount) + "\n" -
nuovo = speciali(nuovo, sito, "Orfane", "|Orfane=") -
nuovo = speciali(nuovo, sito, "Categorizzare", "|NoCat=") -
nuovo = speciali(nuovo, sito, "NoInterwiki", "|NoInterwiki=") -
nuovo = nuovo + "}}" -
nuovo = nuovo + u"\n<noinclude>[[Categoria:Coordinamento| ]]</noinclude>" -
pagina.put(nuovo, "[[Wikibooks:Bot|Bot]]: " + messaggio) -
-
def speciali(vecchio, sito, cosa, stringa):
-
if (cosa == "Orfane"): -
speciale = sito.lonelypages(number = 10000, repeat = False) -
if (cosa == "Categorizzare"): -
speciale = sito.uncategorizedpages(number = 10000, repeat = False) -
if (cosa == "NoInterwiki"): -
speciale = sito.withoutinterwiki(number = 10000, repeat = False) -
k = 0 -
for i in speciale: -
k = k + 1 -
nuovo = vecchio + stringa + str(k) + u"\n" -
return nuovo -
-
-
if __name__ == "__main__":
-
try: -
main() -
finally: -
wikipedia.stopme()