Usuario:BotWikisource/Asistente/códigos/CambiodePlantilla
Alfa
# -*- coding: utf-8 -*- # detector de infotexto y aplicación nueva plantilla import wikipedia,re, Silvestre es_site=wikipedia.getSite() Log=u'realizando pruebas de ajuste para substituir los parámetros de la plantilla a los nuevos' #.........................................................................apertura del documento Documento=u'Plantilla Discusión:Infotexto' ap=wikipedia.Page(es_site, Documento) texto=ap.get() exp=re.compile(u'\{{2}(?P<tt>[Ii]nfotexto(.*\n)+)\}{2}') #......................................................................... salida=u'' #------ NUEVA PLANTILLA --------------- NuevaInfo=[ u"<!-- **** Sobre la Obra -->", u"|<!-- Título -->", u"|<!-- Autor -->", u"|<!-- 1ªedición -->", u"|<!-- Idioma -->", u"|<!-- Licencia -->", u"|<!-- ISBN -->", u"<!-- **** Sobre la Edición Digital -->", u"|<!-- Fuente -->", u"|<!-- Realizada por -->", u"|<!-- Revisión por -->", u"|<!-- Licencia -->'''[[GNU/GFDL]]'''", u"|<!-- Notas -->", u"<!-- **** Sobre la Traducción -->", u"|<!-- Título original-->", u"|<!-- Realizada por -->", u"|<!-- Año edición -->", u"|<!-- Licencia -->", u"|<!-- ISBN -->", u"|<!-- Notas de la traducción -->", ] #------------------------------------------- #===== Recupera la plantilla antigua existente. m=re.findall(exp,texto) m= m[0][0] print m #-------------------------------------- secciona por campos tex=re.split(u'\|',m) #----monta la plantilla antigua en FORMATO infotexto qtemp=u'' for q in tex[1:]: if (re.search(u'\]]',q)): qtemp+=u'|%s'%q else: qtemp+=u'\n%s'%(q) qtemp=re.sub(u'\n{2}',u'\n',qtemp) qtemp=re.sub(u'<!--.*-->',u'',qtemp)#elimino comentarios ViejoInfo=qtemp.split(u'\n') #resultado del volcado #-------------------------------------- captura si es la nueva aplicada if len(ViejoInfo)>5: print u'ya fue cambiada' #print VieqtempInfo[1:] #tupla vieja print qtemp #inclusión de los campos existentes......................................... NuevaInfo[3]+=u' %s'%ViejoInfo[1] NuevaInfo[8]+=u' %s'%ViejoInfo[2] NuevaInfo[9]+=u' %s'%ViejoInfo[3] NuevaInfo[12]+=u' %s'%ViejoInfo[5] NuevaInfo[10]+=u' %s'%ViejoInfo[6] #............................................................................ qtemp=u'' for w in NuevaInfo: qtemp+=u'\n%s'%w #======= creando el nuevo envio de plantilla (la anterior fue borrada) salida=u'{{Infotexto/borrador%s\n}}\n----\n'%qtemp print salida salida+=re.sub(exp,u'',texto) print u'============== \n%s'%salida """ try: fsock = "/noexiste" except IOError: print "El fichero no existe, terminamos de forma elegante" #sigue print "Siempre se va a imprimir esta línea" """