Usuario:BotWikisource/Asistente/códigos/Ayudante

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)