Usuario:BotWikisource/Asistente/códigos/CambiodePlantilla

De Wikisource, la biblioteca libre.

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"
"""