Usuario:BotWikisource/Asistente/códigos/CambiodePlantilla
Apariencia
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"
"""