Utente:Sirbot/Script
monitinsertPunk.py
modificaBasato su Utente:YuBot/Script#monitinsert.py
# -*- coding: utf-8 -*-
"""
Questo script serve per inserire il template monitoraggio.
Si richiede di specificare un parametro di progetto.
***ATTENZIONE**** Sarebbe bene evitare l'inserimento automatico
del monitoraggio nel caso in cui la cosa comporti la creazione
massiccia di pagine di discussione senza info rilevanti (meglio
inserirne poche alla volta e compilare i template).
"""
import wikipedia, sys, re, catlib
def workon(lista, varp):
template= '{{Monitoraggio\n|progetto= '+varp+'\n|progetto2= '+'\n|accuratezza= ' + '\n|scrittura= ' + '\n|fonti= ' + '\n|immagini= ' + '\n|note= ' + '\n|utente= ' + '\n|data= ' + '\n}}\n'
for voce in lista:
oldtext=''
print voce.namespace()
if voce.namespace() == 0:
nomediscu='Discussione:'+voce.title()
discussione=wikipedia.Page('it', nomediscu)
wikipedia.output(u'\n>>> %s <<<' % discussione.title())
if discussione.exists():
try:
oldtext=discussione.get()
except discussione.isRedirectPage() or discussione.isDisambig():
wikipedia.output(u'Redirect o disambigua.')
continue
else:
wikipedia.output(u'La pagina %s esiste.' %discussione.title())
if re.search(r'\{\{[Mm]onitoraggio', oldtext):
wikipedia.output(u'Monitoraggio presente, proseguo.')
else:
newtext= template + oldtext
wikipedia.showDiff(oldtext, newtext)
wikipedia.output (u'Inserisco il template monitoraggio.')
wikipedia.setAction(u'Bot: monitoraggio %s' % varp)
discussione.put(newtext)
else:
wikipedia.output(u'Non esiste una pagina di discussione per la voce %s' % voce.title())
newtext= template + oldtext
wikipedia.showDiff(oldtext, newtext)
wikipedia.output (u'Inserisco il template monitoraggio.')
wikipedia.setAction(u'Bot: monitoraggio %s' % varp)
discussione.put(newtext)
def main():
lista=[]
varp=''
varp='Punk' #wikipedia.input(u'Mi serve la variabile \'progetto\' da inserire:')
if varp:
choice = 'p'#wikipedia.inputChoice(u"Scegli il metodo di creazione dell'elenco di voci: 'categoria' o 'puntanoQui?", ['categoria', 'puntanoQui'], ['c', 'p'], '')
if choice in ['C', 'c']:
nomecat=wikipedia.input(u"Specifica una categoria")
cat=catlib.Category('it', 'Categoria:'+nomecat)
lista=[page for page in cat.articlesList()]
if choice in ['P', 'p']:
portale=wikipedia.Page('it', 'Portale:Punk')
if portale.exists():
choice = 's' #wikipedia.inputChoice(u"Cerco i collegamenti a %s?" % portale.title(), ['Si', 'No per inserire un\'altra pagina'], ['s', 'N'], 'N')
if choice in ['S', 's']:
lista=[page for page in portale.getReferences()]
elif choice in ['N', 'n']:
nomepagina=wikipedia.input(u'Inserire il nome completo della pagina o del template: ')
pagina=wikipedia.Page('it', nomepagina)
lista=[page for page in pagina.getReferences()]
if lista:
workon(lista, varp)
else:
choice = wikipedia.inputChoice(u"Termino il programma?", ['Si', 'No'], ['s', 'N'], 'S')
if choice in ['N', 'n']:
main()
if __name__ == "__main__":
print __doc__
try:
main()
finally:
wikipedia.stopme()
monitoraggio.py
modifica#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Questo script serve a compilare automaticamente il template monitoraggio basandosi sulla ricerca di immagini, fonti e template. Si prega di prestare attenzione alle modifiche effettuate dal bot.
"""
#
# (C) Pietrodn, 2007
# (C) Sirabder87, 2008
# (C) Filnik, 2008
# (C) FiloSottile, 2008
# (C) Rael, 2009
#
# Distributed under the terms of the MIT license.
#
__version__ = '$Id: $'
#
import wikipedia, catlib, re
def main():
always = False
for arg in wikipedia.handleArgs():
if arg.startswith("-always"):
always = True
site = wikipedia.getSite()
nomecat = wikipedia.input(u'Inserire il nome del progetto:')
category_name = 'Voci monitorate Progetto '+nomecat
categoria = catlib.Category(site, category_name)
discussioni = categoria.articles()
for page in discussioni:
if not page.isTalkPage():
continue
associatedPage = page.toggleTalkPage()
try:
pageText = associatedPage.get()
except wikipedia.Error, e:
print e # Print the error and skip
continue
try:
talkText = page.get()
except wikipedia.Error, e:
print e # Print the error and skip
continue
wikipedia.output(">>>>> %s <<<<<" % associatedPage.title())
newTalkText = talkText
regex = re.compile(r'(\[\[File:|\[\[Immagine:|\[\[Image:|\|Fotografia\s*=\s*|\|Immagine\s*=\s*|\|Copertina\s*=\s*)(?!Flag|\n|\\)\w+', re.IGNORECASE)
match = regex.search(pageText)
result = None
if match == None:
result = r'|immagini=\1d\n'
else:
lista = regex.findall(pageText)
if len(lista) > 5:
result = r'|immagini=\1a\n'
elif len(lista) > 3:
result = r'|immagini=\1b\n'
elif len(lista) > 0:
result = r'|immagini=\1c\n'
if result != None:
newTalkText = re.sub(r'\|\n? *?[Ii]mmagini ?=(\s?)(.*?)\n', result, newTalkText)
regex= re.compile(r'(\{\{ref|<ref.*)', re.IGNORECASE)
match = regex.search(pageText)
if match == None:
newTalkText = re.sub(r'\|\n? *?[Ff]onti ?=(\s?)(.*?)\n', r'|fonti=\1d\n', newTalkText)
else:
newTalkText = re.sub(r'\|\n? *?[Ff]onti ?= ?d\n', r'|fonti= \n', newTalkText)
regex = re.compile(r'(\{\{[Vv]etrina)', re.IGNORECASE)
match = regex.search(pageText)
if match is not None:
newTalkText = re.sub(r'\|\n? *?[Aa]ccuratezza ?=(\s?)(.*?)\n', r'|accuratezza=\1a\n', newTalkText)
else:
regex = re.compile(r'(\{\{[Ss]\|)', re.IGNORECASE)
match= regex.search(pageText)
if match is not None:
newTalkText = re.sub(r'\|\n? *?[Aa]ccuratezza ?=(\s?)(.*?)\n', r'|accuratezza=\1c\n', newTalkText)
else:
regex = re.compile(r'(\{\{[Aa]\|)', re.IGNORECASE)
match = regex.search(pageText)
if match is not None:
newTalkText = re.sub(r'\|\n? *?[Aa]ccuratezza ?=(\s?)(.*?)\n', r'|accuratezza=\1d\n', newTalkText)
else:
newTalkText = re.sub(r'\|\n? *?[Aa]ccuratezza ?= ?[cd]\n', r'|accuratezza= \n', newTalkText)
regex = re.compile(r'(\{\{[Dd]a correggere)', re.IGNORECASE)
match = regex.search(pageText)
if match is not None:
newTalkText = re.sub(r'\|\n? *?[Ss]crittura ?=(\s?)(.*?)\n', r'|scrittura=\1d\n', newTalkText)
if talkText != newTalkText:
uName = wikipedia.getSite().username()
newTalkText = re.sub('\|\n? *?[Uu]tente ?=[^\n]*?\n', '|utente=' + uName + '<!-- monitoraggio eseguito via bot -->\n', newTalkText)
newTalkText = re.sub('\|\n? *?[Dd]ata ?=[^\n]*?\n', '|data={{subst:LOCALMONTHNAME}} {{subst:LOCALYEAR}}\n', newTalkText)
wikipedia.showDiff(talkText, newTalkText)
if not always:
choice = wikipedia.inputChoice(u"Apply the changes?", ['Yes', 'No', 'All'], ['y', 'N', 'a'], 'N')
else:
choice = 'y'
if choice in ['A', 'a']:
always = True
choice = 'y'
if choice in ['Y', 'y']:
try:
page.put(newTalkText, u'[[WP:BOT|Bot]]: aggiorno [[Progetto:Qualità/Monitoraggio voci|monitoraggio]]')
except wikipedia.Error, e:
print e # Print the error and skip
continue
if __name__ == "__main__":
try:
main()
finally:
wikipedia.stopme()
etichetta.py
modifica#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# (C) Sirabder87, 2009
# (C) Pietrodn, 2009
#
# Distributed under the terms of the MIT license.
#
__version__ = '$Id: $'
#
import wikipedia, catlib, re
substitutions = {
r"\{\{[Tt]mp\|[Ee]tichetta": r'{{tmp|Infobox Azienda',
r"\{\{[Ee]tichetta": r'{{Infobox Azienda',
r"\|Nome etichetta": r'|nome',
r"\|Generi musicali": r'|prodotti',
r"\|Data fondazione": r'|data_fondazione',
r"\|Marchio\s*?=": r'|logo =',
r"\|Dimensione Marchio": r'|logo_dimensione',
r"\|Fondatore\s*?=": r'|fondatori =',
r"\|Sede\s*?=": r'|sede =',
r"\|Url": r'|sito',
r"\s*?[^=]=[^=]\W*?http://([^\s]*)(\s(.*)\])?": r' = \1',
r"\|Nazione etichetta\s*=\s*(\[\[)?Aruba((\|.+?)?\]\])?": r'|nazione = ABW',
r"\|Nazione etichetta\s*=\s*(\[\[)?Afghanistan((\|.+?)?\]\])?": r'|nazione = AFG',
r"\|Nazione etichetta\s*=\s*(\[\[)?Angola((\|.+?)?\]\])?": r'|nazione = AGO',
r"\|Nazione etichetta\s*=\s*(\[\[)?Anguilla((\|.+?)?\]\])?": r'|nazione = AIA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Åland((\|.+?)?\]\])?": r'|nazione = ALA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Albania((\|.+?)?\]\])?": r'|nazione = ALB',
r"\|Nazione etichetta\s*=\s*(\[\[)?Andorra((\|.+?)?\]\])?": r'|nazione = AND',
r"\|Nazione etichetta\s*=\s*(\[\[)?Antille Olandesi((\|.+?)?\]\])?": r'|nazione = ANT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Emirati Arabi Uniti((\|.+?)?\]\])?": r'|nazione = ARE',
r"\|Nazione etichetta\s*=\s*(\[\[)?Argentina((\|.+?)?\]\])?": r'|nazione = ARG',
r"\|Nazione etichetta\s*=\s*(\[\[)?Armenia((\|.+?)?\]\])?": r'|nazione = ARM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Samoa Americane((\|.+?)?\]\])?": r'|nazione = ASM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Antartide((\|.+?)?\]\])?": r'|nazione = ATA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Territori francesi meridionali((\|.+?)?\]\])?": r'|nazione = ATF',
r"\|Nazione etichetta\s*=\s*(\[\[)?Antigua e Barbuda((\|.+?)?\]\])?": r'|nazione = ATG',
r"\|Nazione etichetta\s*=\s*(\[\[)?Australia((\|.+?)?\]\])?": r'|nazione = AUS',
r"\|Nazione etichetta\s*=\s*(\[\[)?Austria((\|.+?)?\]\])?": r'|nazione = AUT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Azerbaijan((\|.+?)?\]\])?": r'|nazione = AZE',
r"\|Nazione etichetta\s*=\s*(\[\[)?Burundi((\|.+?)?\]\])?": r'|nazione = BDI',
r"\|Nazione etichetta\s*=\s*(\[\[)?Belgio((\|.+?)?\]\])?": r'|nazione = BEL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Benin((\|.+?)?\]\])?": r'|nazione = BEN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Burkina Faso((\|.+?)?\]\])?": r'|nazione = BFA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Bangladesh((\|.+?)?\]\])?": r'|nazione = BGD',
r"\|Nazione etichetta\s*=\s*(\[\[)?Bulgaria((\|.+?)?\]\])?": r'|nazione = BGR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Bahrain((\|.+?)?\]\])?": r'|nazione = BHR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Bahamas((\|.+?)?\]\])?": r'|nazione = BHS',
r"\|Nazione etichetta\s*=\s*(\[\[)?Bosnia e Erzegovina((\|.+?)?\]\])?": r'|nazione = BIH',
r"\|Nazione etichetta\s*=\s*(\[\[)?Saint-Barthélemy((\|.+?)?\]\])?": r'|nazione = BLM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Bielorussia((\|.+?)?\]\])?": r'|nazione = BLR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Belize((\|.+?)?\]\])?": r'|nazione = BLZ',
r"\|Nazione etichetta\s*=\s*(\[\[)?Bermuda((\|.+?)?\]\])?": r'|nazione = BMU',
r"\|Nazione etichetta\s*=\s*(\[\[)?Bolivia((\|.+?)?\]\])?": r'|nazione = BOL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Brasile((\|.+?)?\]\])?": r'|nazione = BRA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Barbados((\|.+?)?\]\])?": r'|nazione = BRB',
r"\|Nazione etichetta\s*=\s*(\[\[)?Brunei((\|.+?)?\]\])?": r'|nazione = BRN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Bhutan((\|.+?)?\]\])?": r'|nazione = BTN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isola Bouvet((\|.+?)?\]\])?": r'|nazione = BVT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Botswana((\|.+?)?\]\])?": r'|nazione = BWA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Repubblica Centrafricana((\|.+?)?\]\])?": r'|nazione = CAF',
r"\|Nazione etichetta\s*=\s*(\[\[)?Canada((\|.+?)?\]\])?": r'|nazione = CAN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Cocos((\|.+?)?\]\])?": r'|nazione = CCK',
r"\|Nazione etichetta\s*=\s*(\[\[)?Svizzera((\|.+?)?\]\])?": r'|nazione = CHE',
r"\|Nazione etichetta\s*=\s*(\[\[)?Cile((\|.+?)?\]\])?": r'|nazione = CHL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Cina((\|.+?)?\]\])?": r'|nazione = CHN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Costa d'Avorio((\|.+?)?\]\])?": r'|nazione = CIV',
r"\|Nazione etichetta\s*=\s*(\[\[)?Camerun((\|.+?)?\]\])?": r'|nazione = CMR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Repubblica Democratica del Congo((\|.+?)?\]\])?": r'|nazione = COD',
r"\|Nazione etichetta\s*=\s*(\[\[)?Repubblica del Congo((\|.+?)?\]\])?": r'|nazione = COG',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Cook((\|.+?)?\]\])?": r'|nazione = COK',
r"\|Nazione etichetta\s*=\s*(\[\[)?Colombia((\|.+?)?\]\])?": r'|nazione = COL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Comore((\|.+?)?\]\])?": r'|nazione = COM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Capo Verde((\|.+?)?\]\])?": r'|nazione = CPV',
r"\|Nazione etichetta\s*=\s*(\[\[)?Costa Rica((\|.+?)?\]\])?": r'|nazione = CRI',
r"\|Nazione etichetta\s*=\s*(\[\[)?Cuba((\|.+?)?\]\])?": r'|nazione = CUB',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isola di Natale((\|.+?)?\]\])?": r'|nazione = CXR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Cayman((\|.+?)?\]\])?": r'|nazione = CYM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Cipro((\|.+?)?\]\])?": r'|nazione = CYP',
r"\|Nazione etichetta\s*=\s*(\[\[)?Repubblica Ceca((\|.+?)?\]\])?": r'|nazione = CZE',
r"\|Nazione etichetta\s*=\s*(\[\[)?Germania((\|.+?)?\]\])?": r'|nazione = DEU',
r"\|Nazione etichetta\s*=\s*(\[\[)?Gibuti((\|.+?)?\]\])?": r'|nazione = DJI',
r"\|Nazione etichetta\s*=\s*(\[\[)?Dominica((\|.+?)?\]\])?": r'|nazione = DMA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Danimarca((\|.+?)?\]\])?": r'|nazione = DNK',
r"\|Nazione etichetta\s*=\s*(\[\[)?Repubblica Dominicana((\|.+?)?\]\])?": r'|nazione = DOM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Algeria((\|.+?)?\]\])?": r'|nazione = DZA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Ecuador((\|.+?)?\]\])?": r'|nazione = ECU',
r"\|Nazione etichetta\s*=\s*(\[\[)?Egitto((\|.+?)?\]\])?": r'|nazione = EGY',
r"\|Nazione etichetta\s*=\s*(\[\[)?Eritrea((\|.+?)?\]\])?": r'|nazione = ERI',
r"\|Nazione etichetta\s*=\s*(\[\[)?Sahara Occidentale((\|.+?)?\]\])?": r'|nazione = ESH',
r"\|Nazione etichetta\s*=\s*(\[\[)?Spagna((\|.+?)?\]\])?": r'|nazione = ESP',
r"\|Nazione etichetta\s*=\s*(\[\[)?Estonia((\|.+?)?\]\])?": r'|nazione = EST',
r"\|Nazione etichetta\s*=\s*(\[\[)?Etiopia((\|.+?)?\]\])?": r'|nazione = ETH',
r"\|Nazione etichetta\s*=\s*(\[\[)?Finlandia((\|.+?)?\]\])?": r'|nazione = FIN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Figi((\|.+?)?\]\])?": r'|nazione = FJI',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Falkland((\|.+?)?\]\])?": r'|nazione = FLK',
r"\|Nazione etichetta\s*=\s*(\[\[)?Francia((\|.+?)?\]\])?": r'|nazione = FRA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Fær Øer((\|.+?)?\]\])?": r'|nazione = FRO',
r"\|Nazione etichetta\s*=\s*(\[\[)?Stati Federati di Micronesia((\|.+?)?\]\])?": r'|nazione = FSM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Gabon((\|.+?)?\]\])?": r'|nazione = GAB',
r"\|Nazione etichetta\s*=\s*(\[\[)?Regno Unito((\|.+?)?\]\])?": r'|nazione = GBR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Gran Bretagna((\|.+?)?\]\])?": r'|nazione = GBR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Inghilterra((\|.+?)?\]\])?": r'|nazione = GBR',
r"\|Nazione etichetta\s*=\s*(\[\[)?U\.?K\.?((\|.+?)?\]\])?": r'|nazione = GBR',
r"\|Nazione etichetta\s*=\s*(\[\[)?G\.?B\.?((\|.+?)?\]\])?": r'|nazione = GBR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Georgia((\|.+?)?\]\])?": r'|nazione = GEO',
r"\|Nazione etichetta\s*=\s*(\[\[)?Guernsey((\|.+?)?\]\])?": r'|nazione = GGY',
r"\|Nazione etichetta\s*=\s*(\[\[)?Ghana((\|.+?)?\]\])?": r'|nazione = GHA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Gibilterra((\|.+?)?\]\])?": r'|nazione = GIB',
r"\|Nazione etichetta\s*=\s*(\[\[)?Guinea((\|.+?)?\]\])?": r'|nazione = GIN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Guadalupa((\|.+?)?\]\])?": r'|nazione = GLP',
r"\|Nazione etichetta\s*=\s*(\[\[)?Gambia((\|.+?)?\]\])?": r'|nazione = GMB',
r"\|Nazione etichetta\s*=\s*(\[\[)?Guinea-Bissau((\|.+?)?\]\])?": r'|nazione = GNB',
r"\|Nazione etichetta\s*=\s*(\[\[)?Guinea Equatoriale((\|.+?)?\]\])?": r'|nazione = GNQ',
r"\|Nazione etichetta\s*=\s*(\[\[)?Grecia((\|.+?)?\]\])?": r'|nazione = GRC',
r"\|Nazione etichetta\s*=\s*(\[\[)?Grenada((\|.+?)?\]\])?": r'|nazione = GRD',
r"\|Nazione etichetta\s*=\s*(\[\[)?Groenlandia((\|.+?)?\]\])?": r'|nazione = GRL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Guatemala((\|.+?)?\]\])?": r'|nazione = GTM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Guiana Francese((\|.+?)?\]\])?": r'|nazione = GUF',
r"\|Nazione etichetta\s*=\s*(\[\[)?Guam((\|.+?)?\]\])?": r'|nazione = GUM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Guyana((\|.+?)?\]\])?": r'|nazione = GUY',
r"\|Nazione etichetta\s*=\s*(\[\[)?Hong Kong((\|.+?)?\]\])?": r'|nazione = HKG',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Heard e McDonald((\|.+?)?\]\])?": r'|nazione = HMD',
r"\|Nazione etichetta\s*=\s*(\[\[)?Honduras((\|.+?)?\]\])?": r'|nazione = HND',
r"\|Nazione etichetta\s*=\s*(\[\[)?Croazia((\|.+?)?\]\])?": r'|nazione = HRV',
r"\|Nazione etichetta\s*=\s*(\[\[)?Haiti((\|.+?)?\]\])?": r'|nazione = HTI',
r"\|Nazione etichetta\s*=\s*(\[\[)?Ungheria((\|.+?)?\]\])?": r'|nazione = HUN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Indonesia((\|.+?)?\]\])?": r'|nazione = IDN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isola di Man((\|.+?)?\]\])?": r'|nazione = IMN',
r"\|Nazione etichetta\s*=\s*(\[\[)?India((\|.+?)?\]\])?": r'|nazione = IND',
r"\|Nazione etichetta\s*=\s*(\[\[)?Territorio Britannico Oceano Indiano((\|.+?)?\]\])?": r'|nazione = IOT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Irlanda((\|.+?)?\]\])?": r'|nazione = IRL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Iran((\|.+?)?\]\])?": r'|nazione = IRN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Iraq((\|.+?)?\]\])?": r'|nazione = IRQ',
r"\|Nazione etichetta\s*=\s*(\[\[)?Islanda((\|.+?)?\]\])?": r'|nazione = ISL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Israele((\|.+?)?\]\])?": r'|nazione = ISR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Italia((\|.+?)?\]\])?": r'|nazione = ITA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Giamaica((\|.+?)?\]\])?": r'|nazione = JAM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Jersey((\|.+?)?\]\])?": r'|nazione = JEY',
r"\|Nazione etichetta\s*=\s*(\[\[)?Giordania((\|.+?)?\]\])?": r'|nazione = JOR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Giappone((\|.+?)?\]\])?": r'|nazione = JPN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Kazakistan((\|.+?)?\]\])?": r'|nazione = KAZ',
r"\|Nazione etichetta\s*=\s*(\[\[)?Kenya((\|.+?)?\]\])?": r'|nazione = KEN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Kirghizistan((\|.+?)?\]\])?": r'|nazione = KGZ',
r"\|Nazione etichetta\s*=\s*(\[\[)?Cambogia((\|.+?)?\]\])?": r'|nazione = KHM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Kiribati((\|.+?)?\]\])?": r'|nazione = KIR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Saint Kitts e Nevis((\|.+?)?\]\])?": r'|nazione = KNA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Corea del Sud((\|.+?)?\]\])?": r'|nazione = KOR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Kuwait((\|.+?)?\]\])?": r'|nazione = KWT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Laos((\|.+?)?\]\])?": r'|nazione = LAO',
r"\|Nazione etichetta\s*=\s*(\[\[)?Libano((\|.+?)?\]\])?": r'|nazione = LBN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Liberia((\|.+?)?\]\])?": r'|nazione = LBR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Libia((\|.+?)?\]\])?": r'|nazione = LBY',
r"\|Nazione etichetta\s*=\s*(\[\[)?Santa Lucia((\|.+?)?\]\])?": r'|nazione = LCA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Liechtenstein((\|.+?)?\]\])?": r'|nazione = LIE',
r"\|Nazione etichetta\s*=\s*(\[\[)?Sri Lanka((\|.+?)?\]\])?": r'|nazione = LKA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Lesotho((\|.+?)?\]\])?": r'|nazione = LSO',
r"\|Nazione etichetta\s*=\s*(\[\[)?Lituania((\|.+?)?\]\])?": r'|nazione = LTU',
r"\|Nazione etichetta\s*=\s*(\[\[)?Lussemburgo((\|.+?)?\]\])?": r'|nazione = LUX',
r"\|Nazione etichetta\s*=\s*(\[\[)?Lettonia((\|.+?)?\]\])?": r'|nazione = LVA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Macao((\|.+?)?\]\])?": r'|nazione = MAC',
r"\|Nazione etichetta\s*=\s*(\[\[)?Saint-Martin((\|.+?)?\]\])?": r'|nazione = MAF',
r"\|Nazione etichetta\s*=\s*(\[\[)?Marocco((\|.+?)?\]\])?": r'|nazione = MAR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Principato di Monaco((\|.+?)?\]\])?": r'|nazione = MCO',
r"\|Nazione etichetta\s*=\s*(\[\[)?Moldavia((\|.+?)?\]\])?": r'|nazione = MDA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Madagascar((\|.+?)?\]\])?": r'|nazione = MDG',
r"\|Nazione etichetta\s*=\s*(\[\[)?Maldive((\|.+?)?\]\])?": r'|nazione = MDV',
r"\|Nazione etichetta\s*=\s*(\[\[)?Messico((\|.+?)?\]\])?": r'|nazione = MEX',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Marshall((\|.+?)?\]\])?": r'|nazione = MHL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Macedonia((\|.+?)?\]\])?": r'|nazione = MKD',
r"\|Nazione etichetta\s*=\s*(\[\[)?Mali((\|.+?)?\]\])?": r'|nazione = MLI',
r"\|Nazione etichetta\s*=\s*(\[\[)?Malta((\|.+?)?\]\])?": r'|nazione = MLT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Myanmar((\|.+?)?\]\])?": r'|nazione = MMR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Montenegro((\|.+?)?\]\])?": r'|nazione = MNE',
r"\|Nazione etichetta\s*=\s*(\[\[)?Mongolia((\|.+?)?\]\])?": r'|nazione = MNG',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Marianne Settentrionali((\|.+?)?\]\])?": r'|nazione = MNP',
r"\|Nazione etichetta\s*=\s*(\[\[)?Mozambico((\|.+?)?\]\])?": r'|nazione = MOZ',
r"\|Nazione etichetta\s*=\s*(\[\[)?Mauritania((\|.+?)?\]\])?": r'|nazione = MRT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Montserrat((\|.+?)?\]\])?": r'|nazione = MSR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Martinica((\|.+?)?\]\])?": r'|nazione = MTQ',
r"\|Nazione etichetta\s*=\s*(\[\[)?Mauritius((\|.+?)?\]\])?": r'|nazione = MUS',
r"\|Nazione etichetta\s*=\s*(\[\[)?Malawi((\|.+?)?\]\])?": r'|nazione = MWI',
r"\|Nazione etichetta\s*=\s*(\[\[)?Malesia((\|.+?)?\]\])?": r'|nazione = MYS',
r"\|Nazione etichetta\s*=\s*(\[\[)?Mayotte((\|.+?)?\]\])?": r'|nazione = MYT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Namibia((\|.+?)?\]\])?": r'|nazione = NAM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Nuova Caledonia((\|.+?)?\]\])?": r'|nazione = NCL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Niger((\|.+?)?\]\])?": r'|nazione = NER',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isola Norfolk((\|.+?)?\]\])?": r'|nazione = NFK',
r"\|Nazione etichetta\s*=\s*(\[\[)?Nigeria((\|.+?)?\]\])?": r'|nazione = NGA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Nicaragua((\|.+?)?\]\])?": r'|nazione = NIC',
r"\|Nazione etichetta\s*=\s*(\[\[)?Niue((\|.+?)?\]\])?": r'|nazione = NIU',
r"\|Nazione etichetta\s*=\s*(\[\[)?(Paesi Bassi|Olanda)((\|.+?)?\]\])?": r'|nazione = NLD',
r"\|Nazione etichetta\s*=\s*(\[\[)?Norvegia((\|.+?)?\]\])?": r'|nazione = NOR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Nepal((\|.+?)?\]\])?": r'|nazione = NPL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Nauru((\|.+?)?\]\])?": r'|nazione = NRU',
r"\|Nazione etichetta\s*=\s*(\[\[)?Nuova Zelanda((\|.+?)?\]\])?": r'|nazione = NZL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Oman((\|.+?)?\]\])?": r'|nazione = OMN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Pakistan((\|.+?)?\]\])?": r'|nazione = PAK',
r"\|Nazione etichetta\s*=\s*(\[\[)?Panamá((\|.+?)?\]\])?": r'|nazione = PAN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Pitcairn((\|.+?)?\]\])?": r'|nazione = PCN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Perù((\|.+?)?\]\])?": r'|nazione = PER',
r"\|Nazione etichetta\s*=\s*(\[\[)?Filippine((\|.+?)?\]\])?": r'|nazione = PHL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Palau((\|.+?)?\]\])?": r'|nazione = PLW',
r"\|Nazione etichetta\s*=\s*(\[\[)?Papua Nuova Guinea((\|.+?)?\]\])?": r'|nazione = PNG',
r"\|Nazione etichetta\s*=\s*(\[\[)?Polonia((\|.+?)?\]\])?": r'|nazione = POL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Porto Rico((\|.+?)?\]\])?": r'|nazione = PRI',
r"\|Nazione etichetta\s*=\s*(\[\[)?Corea del Nord((\|.+?)?\]\])?": r'|nazione = PRK',
r"\|Nazione etichetta\s*=\s*(\[\[)?Portogallo((\|.+?)?\]\])?": r'|nazione = PRT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Paraguay((\|.+?)?\]\])?": r'|nazione = PRY',
r"\|Nazione etichetta\s*=\s*(\[\[)?Palestina((\|.+?)?\]\])?": r'|nazione = PSE',
r"\|Nazione etichetta\s*=\s*(\[\[)?Polinesia Francese((\|.+?)?\]\])?": r'|nazione = PYF',
r"\|Nazione etichetta\s*=\s*(\[\[)?Qatar((\|.+?)?\]\])?": r'|nazione = QAT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Réunion((\|.+?)?\]\])?": r'|nazione = REU',
r"\|Nazione etichetta\s*=\s*(\[\[)?Romania((\|.+?)?\]\])?": r'|nazione = ROU',
r"\|Nazione etichetta\s*=\s*(\[\[)?Russia((\|.+?)?\]\])?": r'|nazione = RUS',
r"\|Nazione etichetta\s*=\s*(\[\[)?Ruanda((\|.+?)?\]\])?": r'|nazione = RWA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Arabia Saudita((\|.+?)?\]\])?": r'|nazione = SAU',
r"\|Nazione etichetta\s*=\s*(\[\[)?Sudan((\|.+?)?\]\])?": r'|nazione = SDN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Senegal((\|.+?)?\]\])?": r'|nazione = SEN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Singapore((\|.+?)?\]\])?": r'|nazione = SGP',
r"\|Nazione etichetta\s*=\s*(\[\[)?Georgia del Sud e isole Sandwich((\|.+?)?\]\])?": r'|nazione = SGS',
r"\|Nazione etichetta\s*=\s*(\[\[)?Sant'Elena((\|.+?)?\]\])?": r'|nazione = SHN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Svalbard e Jan Mayen((\|.+?)?\]\])?": r'|nazione = SJM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Salomone((\|.+?)?\]\])?": r'|nazione = SLB',
r"\|Nazione etichetta\s*=\s*(\[\[)?Sierra Leone((\|.+?)?\]\])?": r'|nazione = SLE',
r"\|Nazione etichetta\s*=\s*(\[\[)?El Salvador((\|.+?)?\]\])?": r'|nazione = SLV',
r"\|Nazione etichetta\s*=\s*(\[\[)?San Marino((\|.+?)?\]\])?": r'|nazione = SMR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Somalia((\|.+?)?\]\])?": r'|nazione = SOM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Saint-Pierre e Miquelon((\|.+?)?\]\])?": r'|nazione = SPM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Serbia((\|.+?)?\]\])?": r'|nazione = SRB',
r"\|Nazione etichetta\s*=\s*(\[\[)?São Tomé e Príncipe((\|.+?)?\]\])?": r'|nazione = STP',
r"\|Nazione etichetta\s*=\s*(\[\[)?Suriname((\|.+?)?\]\])?": r'|nazione = SUR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Slovacchia((\|.+?)?\]\])?": r'|nazione = SVK',
r"\|Nazione etichetta\s*=\s*(\[\[)?Slovenia((\|.+?)?\]\])?": r'|nazione = SVN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Svezia((\|.+?)?\]\])?": r'|nazione = SWE',
r"\|Nazione etichetta\s*=\s*(\[\[)?Swaziland((\|.+?)?\]\])?": r'|nazione = SWZ',
r"\|Nazione etichetta\s*=\s*(\[\[)?Seychelles((\|.+?)?\]\])?": r'|nazione = SYC',
r"\|Nazione etichetta\s*=\s*(\[\[)?Siria((\|.+?)?\]\])?": r'|nazione = SYR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Turks e Caicos((\|.+?)?\]\])?": r'|nazione = TCA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Ciad((\|.+?)?\]\])?": r'|nazione = TCD',
r"\|Nazione etichetta\s*=\s*(\[\[)?Togo((\|.+?)?\]\])?": r'|nazione = TGO',
r"\|Nazione etichetta\s*=\s*(\[\[)?Thailandia((\|.+?)?\]\])?": r'|nazione = THA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Tagikistan((\|.+?)?\]\])?": r'|nazione = TJK',
r"\|Nazione etichetta\s*=\s*(\[\[)?Tokelau((\|.+?)?\]\])?": r'|nazione = TKL',
r"\|Nazione etichetta\s*=\s*(\[\[)?Turkmenistan((\|.+?)?\]\])?": r'|nazione = TKM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Timor Est((\|.+?)?\]\])?": r'|nazione = TLS',
r"\|Nazione etichetta\s*=\s*(\[\[)?Tonga((\|.+?)?\]\])?": r'|nazione = TON',
r"\|Nazione etichetta\s*=\s*(\[\[)?Trinidad e Tobago((\|.+?)?\]\])?": r'|nazione = TTO',
r"\|Nazione etichetta\s*=\s*(\[\[)?Tunisia((\|.+?)?\]\])?": r'|nazione = TUN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Turchia((\|.+?)?\]\])?": r'|nazione = TUR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Tuvalu((\|.+?)?\]\])?": r'|nazione = TUV',
r"\|Nazione etichetta\s*=\s*(\[\[)?Taiwan((\|.+?)?\]\])?": r'|nazione = TWN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Tanzania((\|.+?)?\]\])?": r'|nazione = TZA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Uganda((\|.+?)?\]\])?": r'|nazione = UGA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Ucraina((\|.+?)?\]\])?": r'|nazione = UKR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole minori degli Stati Uniti((\|.+?)?\]\])?": r'|nazione = UMI',
r"\|Nazione etichetta\s*=\s*(\[\[)?Uruguay((\|.+?)?\]\])?": r'|nazione = URY',
r"\|Nazione etichetta\s*=\s*(\[\[)?Stati Uniti( d'America)?((\|.+?)?\]\])?": r'|nazione = USA',
r"\|Nazione etichetta\s*=\s*(\[\[)?U\.?S\.?A\.?((\|.+?)?\]\])?": r'|nazione = USA',
r"\|Nazione etichetta\s*=\s*(\[\[)?Uzbekistan((\|.+?)?\]\])?": r'|nazione = UZB',
r"\|Nazione etichetta\s*=\s*(\[\[)?Vaticano((\|.+?)?\]\])?": r'|nazione = VAT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Saint Vincent e Grenadine((\|.+?)?\]\])?": r'|nazione = VCT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Venezuela((\|.+?)?\]\])?": r'|nazione = VEN',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Vergini Britanniche((\|.+?)?\]\])?": r'|nazione = VGB',
r"\|Nazione etichetta\s*=\s*(\[\[)?Isole Vergini Statunitensi((\|.+?)?\]\])?": r'|nazione = VIR',
r"\|Nazione etichetta\s*=\s*(\[\[)?Vietnam((\|.+?)?\]\])?": r'|nazione = VNM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Vanuatu((\|.+?)?\]\])?": r'|nazione = VUT',
r"\|Nazione etichetta\s*=\s*(\[\[)?Wallis e Futuna((\|.+?)?\]\])?": r'|nazione = WLF',
r"\|Nazione etichetta\s*=\s*(\[\[)?Samoa((\|.+?)?\]\])?": r'|nazione = WSM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Yemen((\|.+?)?\]\])?": r'|nazione = YEM',
r"\|Nazione etichetta\s*=\s*(\[\[)?Sudafrica((\|.+?)?\]\])?": r'|nazione = ZAF',
r"\|Nazione etichetta\s*=\s*(\[\[)?Zambia((\|.+?)?\]\])?": r'|nazione = ZMB',
r"\|Nazione etichetta\s*=\s*(\[\[)?Zimbabwe((\|.+?)?\]\])?": r'|nazione = ZWE',
r"\|Immagine bandiera nazione\s*?=(.*?)\n": r'',
}
def main():
always = False
for arg in wikipedia.handleArgs():
if arg.startswith("-always"):
always = True
site = wikipedia.getSite('it', 'wikipedia')
template=wikipedia.Page(site, 'Template:Etichetta')
lista=template.getReferences()
for page in lista:
if page.namespace() != 0:
continue
wikipedia.output(">>>>> " + page.title() + " <<<<<")
pageText = page.get()
newText = pageText
newText = massiveReplace(substitutions, newText)
if pageText != newText:
newText = re.sub('\{\{Infobox Azienda', '{{Infobox Azienda\n|industria = musicale', newText)
wikipedia.showDiff(pageText, newText)
if not always:
choice = wikipedia.inputChoice(u"Apply the changes?", ['Yes', 'No', 'All'], ['y', 'N', 'a'], 'N')
else:
choice = 'y'
if choice in ['A', 'a']:
always = True
choice = 'y'
if choice in ['Y', 'y']:
page.put(newText, u'[[WP:BOT|Bot]]: sostituisco template etichetta')
def massiveReplace(dict, text):
# Dato un testo ed un dizionario di sostituzioni, usa le regex per il "find and replace"
for k in dict:
text = re.sub(k, dict[k], text)
return text
if __name__ == "__main__":
try:
main()
finally:
wikipedia.stopme()