Usuario:BOTrychium/Botánica

De Wikipedia, la enciclopedia libre
#!/usr/bin/python
# -*- coding: utf-8  -*-
 
#Botánica v1.0. Autores: emijrp, Retama
 
import wikipedia, pagegenerators, re, sys, catlib
 
replacements={
#Ediciones masivas
ur'\[\[especie\]\] de \[\[planta\]\] de \[\[flor\]\]es perteneciente': ur'[[especie]] perteneciente',
ur'de \[\[planta\]\]\] de \[\[flor\]\]es': ur'',
ur'{{MEX}}': ur'[[México]]',
ur'\[\[especie\|especie botánica\]\]':ur'[[especie]]',
ur'\[\[especie (biología)\|especie botánica\]\]': ur'[[especie]]',
ur'{{USA}}': ur'[[Estados Unidos de América|Estados Unidos]]',
ur'muy ampliamente cosmopolita': ur'cosmopolita',
ur'\[\[siempreverde\]\]': ur'[[perennifolio|siempreverde]]',
ur' cm de long ': ur' [[centímetro|cm]] de longitud ',
ur'planta de [[flor]]es': ur'[[Spermatophyta|fanerógama]]',
#Desambiguaciones
ur'\[\[ovario\]\]': ur'[[ovario (Botánica)]]',
ur'\[\[óvulo\]\]': ur'[[óvulo (Botánica)]]',
ur'\[\[hábito\]\]': ur'[[hábito (planta)]]',
ur'\[\[estela\]\]': ur'[[estela (Botánica)]]',
ur'\[\[néctar\]\]': ur'[[néctar (Botánica)]]',
ur'\[\[estigma\]\]': ur'[[estigma (Botánica)]]',
ur'\[\[filamento\]\]': ur'[[filamento (Botánica)]]',
ur'\[\[epidermis\]\]': ur'[[tejido epidérmico|epidermis]]',
ur'\[\[cápsula\]\]': ur'[[cápsula (fruto)]]',
ur'\[\[nomenclatura\]\]': ur'[[nomenclatura (biología)]]',
ur'\[\[sinonimia\]\]': ur'[[sinonimia (biología)]]',
ur'\[\[sinónimo\]\]': ur'[[sinonimia (biología)|sinónimo]]',
ur'\[\[género\]\]': ur'[[género (biología)]]',
ur'\[\[familia\]\]': ur'[[familia (biología)]]',
ur'\[\[orden\]\]': ur'[[orden (biología)]]',
ur'\[\[clase\]\]': ur'[[clase (biología)]]',
ur'\[\[división\]\]': ur'[[división (biología)]]',
ur'\[\[híbrido\]\]': ur'[[híbrido (biología)]]',
ur'\[\[herbácea\]\]s \[\[perenne\]\]s': ur'[[hierba]]s [[planta perenne|perennes]]',
ur'\[\[herbácea\]\]': ur'[[hierba|herbácea]]',
ur'\[\[ADN\]\]': ur'[[ácido desoxirribonucleico|ADN]]',
ur'\[\[ARN\]\]': ur'[[ácido ribonucleico|ARN]]',
ur'\[\[metabolismo secundario\]\]': ur'[[metabolitos secundarios de las plantas|metabolismo secundario]]',
}

category=catlib.Category(wikipedia.Site('es', 'wikipedia'), u'Botánica')
gen=pagegenerators.CategorizedPageGenerator(category, recurse=1)
preloadingGen=pagegenerators.PreloadingGenerator(gen, pageNumber=100, lookahead=100)

for page in preloadingGen:
       if page.isRedirectPage() or page.isDisambig():
               pass
       else:
               wtitle=page.title()
               wtext=newtext=page.get()

               for k, v in replacements.items():
                       newtext=re.sub(k, v, newtext)

               if newtext!=wtext:
                       newtext=re.sub(ur'\[\[(|[A-ZÁÉÍÓÚÑ]*[a-záéíóúñ]*)(|\s\([A-ZÁÉÍÓÚÑ]*[a-záéíóúñ]*\))?\|([A-ZÁÉÍÓÚÑ]*[a-záéíóúñ]*)\]\]s',ur'[[\1\2|\3s]]', newtext)
                       wikipedia.output(u'---> %s <---' % wtitle)
                       wikipedia.showDiff(wtext, newtext)
                       i=wikipedia.input(u'---> ¿Guardar? (y, n): ')
                       if i=='y':
                               page.put(newtext, u'Corrigiendo términos [[PR:BOT|botánicos]]')
                       else:
                              wikipedia.output('A por otro')