Vi descrivo in breve il codice. Innanzitutto va considerato che la versione non è perfetta e non è esattamente quella che uso io in ogni momento. Non ho intenzione di aggiornare questo codice ogni volta che faccio una modifica. Questo codice genera sostantivi in spagnolo (con poche modifiche potete adattarlo per ogni lingua). Per girare ha bisogno di due file di testo: nouns.txt e trads.txt (riportati a fondo pagina). Sul primo dei due vanno inseriti, uno per ogni riga i nuovi lemmi da creare, sul secondo vanno messe le traduzioni dei lemmi nello stesso ordine. La prima riga di ogni file va chiamata "top-list" e l'ultima "bottom-list". Inutile ricordare che l'attendibilità di ogni parola inserita nelle liste deve esser stata verificata attentamente. Al posto di "percorso-del-file" dovete mettere il percorso della cartella dove avete salvato i file di testo (differente a seconda che usiate windows, linux o mac).
#coding: utf-8
"""
Sostantivi di varie lingue generati automaticamente. Vanno aggiornati i due file di testo e la lingua
"""
__version__='$Id: Exp $'
import wikipedia, config
import re, sys, codecs
mysite = wikipedia.getSite()
commenttext = 'Sostantivo spagnolo generato automaticamente'
endfile = 'Non ci sono più pagine da creare'
def donoun(noun, trad):
newpage = "{{in|es|noun}}" + '\n' + "{{pn}}" + " ''f'' " "{{linkp|" + noun + "s}}" + '\n'
newpage = newpage + "# ]" + '\n' + '\n'
newpage = newpage + "{{-ref-}}" + '\n' + "*{{Fonte|wmf|" + noun + "|es}}"
page = wikipedia.Page(mysite, noun)
if not page.exists():
page.put(newpage, comment = commenttext, minorEdit = False)
nouns = open('percorso-del-file/nouns.txt', 'r')
noun = nouns.readline()
trads = open('percorso-del-file/trads.txt', 'r')
trad = trads.readline()
while noun != "bottom-list":
noun = nouns.readline()
noun = noun.decode("utf8")
if noun != "bottom-list":
trad = trads.readline()
trad = trad.decode("utf8")
donoun (noun, trad)
nouns.close()
trads.close()
print endfile
top-list
escritura
ortografía
bottom-list
top-list
scrittura
ortografia
bottom-list