Utente:Kroninbot/monitoraggiocomuni.py
Vai alla navigazione
Vai alla ricerca
#Espande il template monitoraggio nelle pagine dei comuni, può essere usato anche per altre categorie
#Devo ancora migliorare la gestione dell'input ma a mio avviso cambiando direttamente
#dal sorgente del programma viene più semplice se volete che metta i parametri in input, lasciatemi un messaggio in talk
import wikipedia
import catlib
import re
site = wikipedia.getSite()
cat = catlib.Category(site, 'Categoria:Comuni della Lombardia') #Sostituire "Categoria:Comuni della Lombardia" con la categoria desiderata
com = cat.articlesList()
strmon = '{{Monitoraggio\n|progetto= Lombardia\n|progetto2 = Comuni\n|accuratezza= nc\n|scrittura= nc\n|fonti= nc\n|immagini= nc\n|note= \n|utente= \n|data= ottobre 2007\n}}'
#Sostituire "Lombardia" con il nome del progetto ed eventualmente "comuni"
for dis in com:
if dis.title().namespace() != 0:
continue
#Salta la pagina se questa non è nel namespace 0
title = 'Discussione:' + dis.title()
# if re.search('^Discussione:[A-Q]', title):
# continue
#Cancellare i "#" dalle due righe sopra se si vuol fare partire il bot da una certa lettera da mettere al posto di Q
wikipedia.output('Loading %s' % title)
page = wikipedia.Page(site, title)
try:
text = page.get()
#Espande il monitoraggio
if re.search('\{\{[Mm]onitoraggio\|[Cc]omuni\}\}', text) != None:
mon = re.sub ('\{\{[Mm]onitoraggio\|[Cc]omuni\}\}', strmon , text)
page.put(mon, comment='Bot: corrego template monitoraggio')
elif re.search('\{\{[Mm]onitoraggio\|[Ll]ombardia\}\}', text) != None:
mon = re.sub ('\{\{[Mm]onitoraggio\|[Ll]ombardia\}\}', strmon , text)
page.put(mon, comment='Bot: corrego template monitoraggio')
#Se non esiste la pagine di discussione la crea
except wikipedia.NoPage:
page.put(strmon, comment='Bot: inserisco template monitoraggio')
except wikipedia.IsRedirectPage:
continue
except wikipedia.BadTitle:
continue
wikipedia.stopme()
#Script by Kronin, made in 2007