Utente:Tatobot/Script: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Fix, replaced: <source → <syntaxhighlight (3), </source → </syntaxhighlight (3) |
|||
(10 versioni intermedie di 5 utenti non mostrate) | |||
Riga 1:
<small>[[Speciale:Contributions/Tatobot|ultimi contributi]]</small>
[[File:Exquisite-exec.png|right]]
==Tutorial regex==
*http://fido.altervista.org/RegExp/regex.html
*[[Utente:FrescoBot/FAQ]]
==Mammiferi a rischio di estinzione==
Line 54 ⟶ 56:
titolo=mammiferi2.py|
testo=
<
# -*- coding: utf-8 -*-
Line 61 ⟶ 63:
list = [
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
]
Line 180 ⟶ 182:
statocons=m[4]
print u'\nNome comune: %s\nNome scientifico: %s\nOrdine: %s\nFamiglia: %s\nGenere: %s\nSpecie: %s\nId EDGE: %s' % (nomecomune, i.title(),famiglia,ordine, genere, specie, EDGE)
testopagina = u"{{s|mammiferi}}\n{{da completare (mammiferi a rischio di estinzione)}}\n{{Tassobox\n|colore=pink\n|nome=%s\n|statocons=%s\n|immagine=[[Immagine:Missing.png|220px]]\n|didascalia=''{{subst:PAGENAME}}''\n|<!-- CLASSIFICAZIONE -->\n|dominio=\n|regno=[[Animalia]]\n|sottoregno=\n|superphylum=\n|phylum=[[Chordata]]\n|subphylum=[[Vertebrata]]\n|infraphylum=\n|microphylum=\n|nanophylum=\n|superclasse=\n|classe=[[Mammalia]]\n|sottoclasse=\n|infraclasse=\n|superordine=\n|ordine=[[%s]]\n|sottordine=\n|infraordine=\n|superfamiglia=\n|famiglia=[[%s]]\n|sottofamiglia=\n|genere='''[[%s]]'''\n|specie='''%s'''\n<!--NOMENCLATURA BINOMIALE-->\n|binome={{subst:PAGENAME}}\n|biautore=\n|bidata=\n}}\n'''%s''' (''%s'') è un [[Mammalia|mammifero]] della [[famiglia (tassonomia)|famiglia]]
print testopagina.encode('utf-8')
choice = wikipedia.inputChoice(u'Creo la pagina?', [u'Yes', u'No'], [u'y', u'N'], u'N')
Line 186 ⟶ 188:
wikipedia.setAction(u'Stub mammiferi generato da [[Utente:Tatobot|Tatobot]] a partire da [[Mammiferi a rischio di estinzione]].')
i.put(testopagina)
redirect=wikipedia.Page(wikipedia.getSite(),nomecomune)
if not redirect.exists() or redirect.isRedirectPage():
redirect.put(u'REDIRECT [[%s]]\n[[Categoria:Mammiferi (nomi comuni)]]' % i.title())
paginadiscussione = wikipedia.Page(wikipedia.getSite(), u'Discussione:' + i.title())
if paginadiscussione.exists():
Line 197 ⟶ 202:
wikipedia.setAction(u'Pagina di discussione di stub mammiferi generato da [[Utente:Tatobot|Tatobot]] a partire da [[Mammiferi a rischio di estinzione]].')
paginadiscussione.put(testodiscussione)
wikipedia.stopme()</
}}
Line 203 ⟶ 208:
Conosci il [[Python]]? Se no, ti spiego il codice.
:--[[Utente:Pietrodn|'''<span style="font-variant:small-caps;"><span style="color:red;">Pi</span><span style="color:orange;">et</span><span style="color:green;">ro</span></span>''']][[Discussioni utente:Pietrodn|'''<sup><span style="font-variant:small-caps; cursor:help;"><span style="color:blue;">Dn</span></span></sup>''']] 18:00, 11 ott 2006 (CEST)
{{Cassetto|titolo=uccelli.py|testo=
Line 252 ⟶ 257:
La funzione che analizza un testo per cercare una data stringa è
dà come risultato -1 se la stringa non viene trovata, altrimenti dà il
Line 273 ⟶ 278:
'''
import re
import httplib
import wikipedia, config
Line 286 ⟶ 291:
for j in range(0, len(primadi)):
i =
if i > -1:
break
Line 390 ⟶ 395:
if debug:
wikipedia.output(u"%s = %s" % (key, value))
if
raise Error(u"Duplicate key %s" % key)
if value:
Line 700 ⟶ 705:
n += 1
if
n, found = parse_nomial('', n, lines, params)
Line 737 ⟶ 742:
# Some other checks
if
raise Error(u"Can't handle {{taxobox norank entry}}, sorry.")
if
raise Error(u"Can't handle {{taxobox unranked entry}}, sorry.")
# Fix some simple mistakes.
if
params['name'] = "''%s''" % params['name']
if
params['name'] = "''%s''" % params['name']
if
params['name'] = "''%s''" % params['name']
if
in (canonize(params.get('name', '')),
canonize(params.get('binomial', '')),
Line 759 ⟶ 764:
canonize(params.get('genus', '')) + 'sp',
canonize(params.get('name', '') + params.get('binomial', '')),
del params['image_caption']
if
params['binomial_authority'] = re.sub(r',,', ',',
params['binomial_authority'])
if
params['trinomial_authority'] = re.sub(r',,', ',',
params['trinomial_authority'])
if
params['genus'] = params['genus'][3:-3]
if
m = re.match(r"<center> *(.*[^ ]) *</center>$", params['name'])
if m:
params['name'] = m.group(1)
if
m = re.match(r"<center> *(.*[^ ]) *</center>$", params['subdivision_ranks'])
if m:
params['subdivision_ranks'] = m.group(1)
if
params['genus'] = "''%s''" % params['genus']
if
params['species'] = "''%s''" % params['species']
if
params['subspecies'] = "''%s''" % params['subspecies']
if
params['species'] = "'''%s'''" % params['species']
if
params['subspecies'] = "'''%s'''" % params['subspecies']
if
params['subdivision'] = '\nSee text.'
if
m = re.match(r"'*([A-Z])[a-z-]* ([a-z-]*)'*", params['binomial'])
if m:
params['species'] = "'''''%s. %s'''''" % (m.group(1), m.group(2))
if
m = re.match(r"'*([A-Z])[a-z-]* ([a-z])[a-z-]* ([a-z][a-z-]*)'*", params['trinomial'])
if m:
Line 809 ⟶ 814:
newtext = re.sub(r'(?is){{taxobox[ _]+begin *\|.*{{taxobox[ _]+end *}}',
'{{Taxobox\n'
+ ''.join(
for k
if k in params
+ '}}', text)
newtext = check(pl.get(), newtext)
Line 905 ⟶ 910:
wikipedia.stopme()
</nowiki></pre>
}}
== Avvisa utenti ==
{{cassetto|
titolo=avvisoFdV.py|
testo=
<syntaxhighlight lang=python>
# -*- coding: utf-8 -*-
import wikipedia
import re
list = [
* [[Utente:Dark-deoxys-ex]]
* [[Utente:Fradeve11]]
* [[Utente:Kalumet Sioux]]
* [[Utente:Paolo.bertinetto]]
* [[Utente:Thom]]
* [[Utente:Archenzo]]
* [[Utente:Cinerino]]
* [[Utente:Marrabbio2]]
* [[Utente:Carnby]]
* [[Utente:Dschiavon]]
* [[Utente:rdelre]]
* [[Utente:Svante]]
* [[Utente:Broc]]
* [[Utente:Esculapio]]
* [[Utente:Phenagen]]
* [[Utente:Ale.com]]
* [[Utente:Tanarus]]
* [[Utente:Brodo]]
* [[Utente:Aaaaaa]]
* [[Utente:Michele859]]
* [[Utente:Gia.cossa]]
* [[Utente:White_wolf]]
* [[Utente:Ottaviano II]]
* [[Utente:Ghedo]]
* [[Utente:Gonne junior]]
* [[Utente:Saphira555]]
* [[Utente:Eliasoriordan]]
* [[Utente:Link89]]
* [[Utente:Lycaon]]
* [[Utente:Winged_Zephiro]]
* [[Utente:Black mamba]]
* [[Utente:Furriadroxiu]]
* [[Utente:Niko87]]
* [[Utente:Andie]]
* [[Utente:Reedj.]]
* [[Utente:Marruz]]
* [[Utente:Tursiops]]
* [[utente:Sogeking]]
* [[Utente:Yoruno]]
* [[Utente:Piper90]]
* [[Utente:Wento]]
* [[Utente:*evy*splash]]
* [[Utente:Corneliae]]
* [[Utente:Carnby]]
* [[Utente:Morgoth92]]
* [[Utente:Yuma]]
* [[Utente:Arlas!]]
* [[Utente:Nicknotfound]]
* [[Utente:Vitalfranz]]
* [[Utente:GioMax]]
* [[Utente:Happyhour]]
]
wikipedia.handleArgs()
mainPage = wikipedia.Page(wikipedia.getSite(), u'Progetto:Forme di vita/Utenti')
txt = mainPage.get()
for m in list:
i=wikipedia.Page(wikipedia.getSite(), m[0])
if i.exists(): #or i.title().find(u'Immagine') != -1 or i.title().find(u'Image') != -1 or i.title().find(u'idae') != -1:
continue
regex = re.compile(u'\[\[%s\]\]\'\' *\|\| *(.*) *\|\|' % i.title())
paginadiscussione = wikipedia.Page(wikipedia.getSite(), u'Discussione:' + i.title())
if paginadiscussione.exists():
olddiscussione = paginadiscussione.get()
else:
olddiscussione = u''
testodiscussione = u' ===Avviso===\n ' + olddiscussione
wikipedia.showDiff(olddiscussione, testodiscussione)
choice = wikipedia.inputChoice(u'Modifico la pagina di discussione?', [u'Yes', u'No'], [u'y', u'N'], u'N')
if choice in [u'Y', u'y']:
wikipedia.setAction(u'messaggio dal progetto:Forme di vita')
paginadiscussione.put(testodiscussione)
wikipedia.stopme()</syntaxhighlight>
}}
{{cassetto|titolo=avvisaUtenti.py|testo=
<syntaxhighlight lang="python">
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import wikipedia
listaDiscussioni = [
"Discussioni utente:Tatobot",
"Discussioni utente:Esculapio",
# TUTTI GLI UTENTI QUI!
]
def main():
all = False
wikipedia.handleArgs()
mySite = wikipedia.getSite(code='it', fam='wikipedia')
messaggio = wikipedia.Page(mySite, "Utente:Tatobot/avviso").get() # QUI CI VA LA PAGINA IN CUI C'È IL MESSAGGIO!
for i in listaDiscussioni:
currentPage = wikipedia.Page(mySite, i)
try:
oldText = currentPage.get()
except wikipedia.NoPage:
wikipedia.output(currentPage.title() + " does not exist!")
continue
except wikipedia.IsRedirectPage:
currentPage = currentPage.getRedirectTarget()
oldText = currentPage.get()
wikipedia.output(">>>>> " + currentPage.title() + " <<<<<")
newText = oldText + "\n\n" + messaggio
wikipedia.showDiff(oldText, newText)
if not all:
choice = wikipedia.inputChoice(u"Modificare?", ['Yes', 'No', 'All'], ['y', 'N', 'a'], 'N')
else:
choice = 'y'
if choice in ['A', 'a']:
all = True
choice = 'y'
if choice in ['Y', 'y']:
# AGGIUNGERE UN OGGETTO APPROPRIATO
currentPage.put(newText, minorEdit=False, comment=u'/* OGGETTO DEL MESSAGGIO */ nuova sezione - messaggio automatico')
if __name__ == "__main__":
try:
main()
finally:
wikipedia.stopme()
</syntaxhighlight>
}}
|