Usuario:BotWikisource/Asistente/códigos/Ayudante
Apariencia
beta
# -*- coding: utf-8 -*-
import wikipedia,re,time,category, catlib
import pagegenerators
"""
es_site=(wikipedia.Site("es","wikisource"))
LOG=u"[[Usuario:Silvestre|Silvestre]] usando el bot para tareas determinas"
Documento=u"El cuervo (T.Juan Antonio Pérez Bonalde)"
#es_site=wikipedia.getSite()
#ap=wikipedia.Page(es_site, Documento)
#texto=ap.get()
salida=u''
"""
def ArticulosCat(es_site,cat):
#devuelve los artículos dentro de una categoría dada
cat=u'Category:%s'%cat
cat=catlib.Category(es_site,cat)
return cat.articles()
def SubstCadena():
Documento=u'ww'
ap=wikipedia.Page(es_site, Documento)
texto=ap.get()
salida=texto
uno=re.finditer(ur"\[{2}(?P<ttitulo>.*?)]]\n\s?(?P<frase>.*?)(?=\s\[{2}.*?]])",salida)
FIN=u''
for u in uno:
salida=u'\n== %s ==\n'%u.group(u'ttitulo').split(u'|')[1]
salida+=u"<div style='text-align:right'><u>'' %s '' </u></div>\n\n\n" %u.group(u'frase')
#imprimir el texto de la página dada
DEDE=wikipedia.Page(es_site, u.group(u'ttitulo').split(u'|')[0])
salida+=DEDE.get()
#print u'Título: %s\n'%i.group(u'titulo')
print texto
ap.put(texto,comment=LOG)
def AppendTxt(Nuevoadd,Texto):
return Texto,Nuevoadd
def UsoPlantilla(es_site, Documento):
#devuelve la lista de páginas de uso de la plantilla.
ap=wikipedia.Page(es_site, Documento)
return ap.getReferences(onlyTemplateInclusion=True)
def Substituir(Asub,Nsub):
return re.sub(u'\n\n',u'\n',texto)
#----------------------------------------------------------------------
# Sirve para cambiar categorías con o sin parámetros(conservando estos)
# txt=>texto de la página ant=>cat anterior new=> nueva categoría.
# cat=re.compile(u'Categoría:%s[^\w\s]'%cat)
# texto=re.sub(cat,u'Categoría:%s'%new,texto)
def CambioCatg(txt,ant,new):
#sin parametros
apalabra=re.compile(u'\[{2}[Cc]ategor[y|ía]+:%s\]{2}'%ant)
anwepalabra=u'[[Categoría:%s]]'% new
txt=re.sub(apalabra,anwepalabra,txt)
#con parametros
apalabra=re.compile(u'\[{2}[Cc]ategor[y|ía]+:%s\|{1}'%ant)
anwepalabra=u'[[Categoría:%s|'% new
txt=re.sub(apalabra,anwepalabra,txt)
return txt
"""
def AgruparDiscusiones(es_site,cat)
'''Borra infotexto, y traslada comentarios al AP'''
Buscar=re.compile(u"^(\{{2}[I|i]nfotexto)(\n|.)+ (?!^\n)")
salidaG=self.ArticulosCat(es_site,cat)
salida=u''
LogDiscusiones=u"\n== Traslados de discusiones ==\n''Texto trasladado desde las diferentes discusiones de los capítulos de la obra''\n"
#------------------artículos por catgoria
for i in salidaG:
salida=u''
Titulo=u'Discusión: %s'%i.title()
print Titulo
ap=wikipedia.Page(es_site, Titulo)
salida=ap.get()
salida=re.sub(u'}}',u'}}\s ',salida)
salida=re.sub(Buscar,u' ',salida)
if len(salida) >2:
salida=salida.lstrip ()
LogDiscusiones+=u'=== %s ===\n%s'%(i.title(),salida)
salida=u"[[%s|<< ''El texto ha sido trasladado a la discusión de la portada'']]"%Titulo
#ap.put(salida,comment=u"[[usuario:Silvestre|Silvestre]] Eliminando infotexto (se incluye en la portada)")
#-----------------------------------------
Titulo=u'Discusión: %s'%cat
ap=wikipedia.Page(es_site, Titulo)
salida=ap.get()
salida+= LogDiscusiones
#ap.put(salida,comment=u"[[usuario:Silvestre|Silvestre]] usando el bot")
"""
def ArreglaTitulos():
textoC=texto.split(u'\n==')
#textoC=textoC.split(u'==')
Joor=[0,]
Nass=0
for a in textoC:
f=a.split(u'==') [0]
if f[:8]==u'ARTÍCULO':
Nass+=1
j=f.split(u' ')[1].capitalize()
print j
Joor.append([1,f.split(u' ')[1].capitalize()])
print Joor
for w in range(len(Joor))[1:]:
print w
cambio=u'\n{{{{Artículo|'#%s|%s}}'%(,)
ch=re.sub(u'\n==ARTÍCULO\s.*==',cambio,texto)
"""
textoC=texto.split(u'\n==')
#textoC=textoC.split(u'==')
print textoC
for a in textoC:
f=a.split(u'==') [0]
if f[:8]==u'ARTÍCULO':
print textoC [a][0]
"""
#ch=re.sub('====','==',ch)
u"Bot trabajando para [[Usuario:Silvestre]]"
#salida = AppendTxt(u'\n\n\nkkkkkkkkkkkkkkkkk',texto)
print u'enlazado'#salida
#ap=wikipedia.Page(es_site, Documento)
#ap.put(salida,comment=LOG)