Usuari:PereBot/robot posa plantilles variades

# -*- coding: utf-8 -*-
# A partir d'una llista de consultes Autolist posa les
# plantilles Autoritat, Bases de dades taxonòmiques, Commonscat i Cal coor
# si a Wikidata hi ha dades per omplir-les.
# Si hi ha plantilla Commons la canvia per la Projectes germans i hi incorpora
# els enllaços a Viquiespècies i Viquidites (trets de les seves plantilles).
# Treu les plantilles i categories de manca de fotos si hi ha una imatge a
# Wikidata i a l'article una infotaula que la fa servir.

import sys
sys.path.append('C:\core')
import pywikibot
from pywikibot import pagegenerators
from pywikibot.compat import catlib
import re,urllib,urllib2

def plant(tit):
    return pywikibot.Page(site,u"Plantilla:{}".format(tit))

# Actualitza informe
def putinforme(pag,text0,afegit,sumari,signa=False):
    contingut=text0+afegit
    if signa:
        contingut=contingut+u"\n--~~~~\n"
    try:
        pag.put(contingut,sumari)
    except articleexists:
        res=pag.get()
        pag.put(contingut,sumari)
    return

# Mou la plantilla orfe al final
def mouorfe(text):
    noutext=text
    principi=text[0:100]
    sumari=u""
    if re.search(u"\{\{[Oo]rfe ?\}\}",principi):
        text=re.sub(u"\{\{[Oo]rfe ?\}\}\n?","",text)
        noutext=insertaorfe(text,u"{{Orfe}}")
        if noutext!=text:
            sumari=u"Robot mou {{Orfe}} al final"
    trossos=re.split(u"\n",principi)
    textplant=u""
    for tros in trossos:
        if re.search(u"\{\{[Oo]rfe ?\| ?data=.*\}\}",tros):
            textplant=re.sub(u".*(\{\{[Oo]rfe ?\| ?data=.*\}\}).*\n?",r"\1",tros)
    if textplant!=u"":
        print textplant
    if textplant!=u"":
        text=text.replace(textplant+u"\n",u"")
        text=text.replace(textplant,u"")
        noutext=insertaorfe(text,textplant)
        if noutext!=text:
            sumari=u"Robot mou "+textplant+" al final"
        else:
            sumari=u""
    return noutext,sumari


# Endreça una mica les plantilles.
# PER FER: FER QUE POSI BÉ LES PLANTILLES QUE HAGIN QUEDAT ABANS D'ENLLAÇOS EXTERNS
def poleix(text):
    for i in range(1,10):
        text=text.replace(u"\n\n{{Autoritat}}",u"\n{{Autoritat}}")
        text=text.replace(u"\n\n\n{{Bases de dades taxonòmiques}}",u"\n\n{{Bases de dades taxonòmiques}}")
        text=text.replace(u"\n\n{{Commonscat",u"\n{{Commonscat")
        text=text.replace(u"\n\n{{Projectes germans",u"\n{{Projectes germans")
        text=re.sub(u"(\{\{ORDENA\:.*\}\}|\{\{Enllaç A[BD]\|.*\}\})\n*(\{\{Bases de dades taxonòmiques\}\}|\{\{Autoritat\}\})",ur"\2\n\1",text)
        text=re.sub(u"(\{\{[Cc]al coor\}\}|\{\{[Cc]al coor\|.*?\}\})\n*(\{\{Bases de dades taxonòmiques\}\}|\{\{Autoritat\}\})",ur"\2\n\1",text)
        text=re.sub(u"(\[\[ ?[Cc]ategoria ?\:.*\|?.*?\]\])\n*(\{\{Bases de dades taxonòmiques\}\}|\{\{Autoritat\}\})",ur"\2\n\1",text)
        text=text.replace(u"\n\n\n{{ORDENA",u"\n\n{{ORDENA")
    text=text.replace(u"{{Autoritat}}\n{{ORDENA",u"{{Autoritat}}\n\n{{ORDENA")
    text=text.replace(u"{{Autoritat}}\n[[Categoria:",u"{{Autoritat}}\n\n[[Categoria:")
    text=text.replace(u"{{Bases de dades taxonòmiques}}\n{{ORDENA",u"{{Bases de dades taxonòmiques}}\n\n{{ORDENA")
    text=text.replace(u"{{Bases de dades taxonòmiques}}\n[[Categoria:",u"{{Bases de dades taxonòmiques}}\n\n[[Categoria:")
    text=re.sub(u"\{\{ ?citar web ?\|",u"{{ref-web|",text)
    return text

# A partir d'un item de Wikidata retorna:
# el títol de l'article, la categoria de Commons (o u""
# si no n'hi ha), el nombre de registres d'autoritat i el
# nombre de bases de dades taxonòmiques.
def iwcaccataut(data):
    try:
        iw=u""
        ccat=u""
        aut=0
        tax=0
        coor=False
        extraterrestre=False
        cont= data.get()
        #print cont
        im=False
        iws=cont[u'sitelinks']
        #print u"INTERWIKIS:",iws
        iw=iws[u'cawiki']#[u'name']
        claims=cont[u'claims']
        #print u"CLAIMS:",claims
        for clau in claims.keys():
            claim=claims[clau]
            num=int(clau[1:])
            #print u"CLAU:",num
            if num==373:
                #print claim
                #print claim[0].getTarget()
                ccat=claim[0].getTarget()
                if ccat==None:
                    ccat=u""
            if num in [1273, 214, 244, 213, 496, 227, 906, 269, 268, 950, 651, 1015, 245, 902, 886, 434, 549, 409, 349, 1048, 691, 640, 947, 396, 402, 1296, 345,]:
                aut=aut+1
            if num in [1348, 2036, 687, 838, 1939, 830, 1895, 938, 1747, 846, 1421, 1391, 815, 627, 959, 962, 685, 842, 1070, 2040, 1772, 1745, 850,]:
                tax=tax+1
            if num==625:
                coor=True
            if num==18:
                im=True
            if num==376:
                if claim[0].getTarget()<>pywikibot.ItemPage(sitedata,"Q2"):
                    print "cos extraterrestre"
                    extraterrestre=True
        if extraterrestre==True:
            coor=False
    except IndexError:
        print u"Error: paràmetre sense contingut a wikidata"
        ccat=u""
    except pywikibot.NoPage:
        print u"Error: no hi ha pàgina a wikidata"
    #except pywikibot.MaxTriesExceededError:
    #    print u"Error: Temps excedit"
    except NotImplementedError:
        print u"Error: dada amb unitats a Wikidata"
    except urllib2.HTTPError:
        print u"Error HTTP (no deu funcionar el web)"
    except TypeError:
        print "TypeError: no hi deu haver interviquis"
    print iw,ccat,aut,tax,coor,im
    return iw,ccat,aut,tax,coor,im

# Funció que insereix la plantilla Coord (o un altre text) en una pàgina.
# Mira de posar-la davant de l'ORDENA i si no davant les categories.
# Els arguments són la pàgina i el text a afegir (habitualment la plantilla amb
# el seus paràmetres).
# Retorna el text amb la plantilla (o sense, si no ha trobat on posar-la).
#
def insertacoor(text,afegit):
    principi=text[0:100]
    if re.search(u"\{\{[Cc]al foto",text) and not re.search(u"Foto *= *\n* *\{\{[Cc]al foto",text) and not re.search(u"\{\{[Cc]al foto",principi):
        text=re.sub(u"\{\{[Cc]al foto",afegit+u"\n{{Cal foto",text,count=1)
        print afegit,u"davant de la plantilla cal foto"
    elif re.search(u"\{\{[Ee]sborrany",text):
        text=re.sub(u"\{\{[Ee]sborrany",afegit+u"\n{{Esborrany",text,count=1)
        print afegit,u"afegit davant de la plantilla esborrany"
    elif re.search(u"\{\{ORDENA",text):
        text=re.sub(u"\{\{ORDENA",afegit+u"\n{{ORDENA",text)
        print afegit,u"afegit davant de l'ORDENA"
    elif re.search(u"\[\[ ?[Cc]ategoria ?:",text):
        text=re.sub(u"\[\[ ?[Cc]ategoria ?:",afegit+u"\n[[Categoria:",text,count=1)
        print afegit,u"afegit davant de les categories"
    else:
        print u"No he trobat on afegir el text a [["+afegit
    return text

# Funció que insereix la plantilla Orfe (o un altre text) en una pàgina.
# Els arguments són el text de la pàgina i el text a afegir (habitualment la plantilla amb
# el seus paràmetres).
# Retorna el text amb la plantilla (o sense, si no ha trobat on posar-la).
#
def insertaorfe(text,afegit):
    if re.search(u"\{\{[Ee]sborrany",text):
        text=re.sub(u"\{\{[Ee]sborrany",afegit+u"\n{{Esborrany",text,count=1)
        print u"Text afegit davant de la plantilla esborrany"
    elif re.search(u"\{\{[Cc]al coor",text):
        text=re.sub(u"\{\{[Cc]al coor",afegit+u"\n{{Cal coor",text,count=1)
        print u"Text afegit davant de la plantilla cal coor"
    elif re.search(u"\{\{[Cc]al foto",text) and not re.search(u"Foto *= *\n* *\{\{[Cc]al foto",text):
        text=re.sub(u"\{\{[Cc]al foto",afegit+u"\n{{Cal foto",text,count=1)
        print u"Text afegit davant de la plantilla cal foto"
    elif re.search(u"\{\{(ORDENA|DEFAULTSORT)",text):
        text=re.sub(u"\{\{(ORDENA|DEFAULTSORT)",afegit+u"\n{{ORDENA",text,count=1)
        print u"Text afegit davant de l'ORDENA"
    elif re.search(u"\[\[ ?[Cc]ategoria ?:",text):
        text=re.sub(u"\[\[ ?[Cc]ategoria ?:",afegit+u"\n[[Categoria:",text,count=1)
        print u"Text afegit davant de les categories"
    else:
        print u"No he trobat on afegir el text a [["+afegit
    return text


# Funció que insereix la plantilla Bases de dades taxonòmiques.
# Retorna el text amb la plantilla (o sense, si no ha trobat on posar-la).
# L'argument és el text i no l'objecte pàgina.
#
def insertatax(text,afegit):
    if re.search(u"\{\{ ?[Aa]utoritat",text):
        text=re.sub(u"\{\{ ?[Aa]utoritat",afegit+u"\n{{Autoritat",text)
        print u"Text afegit davant de la plantilla Autoritat"
    elif re.search(u"\{\{(ORDENA|DEFAULTSORT)",text):
        text=re.sub(u"\{\{(ORDENA|DEFAULTSORT)",afegit+u"\n\n{{ORDENA",text,count=1)
        print u"Text afegit davant de l'ORDENA"
    elif re.search(u"\{\{[Ee]nllaç AD",text):
        text=re.sub(u"\{\{[Ee]nllaç AD",afegit+u"\n{{Enllaç AD",text,count=1)
        print u"Text afegit davant de la plantilla Enllaç AD"
    elif re.search(u"\{\{[Ee]nllaç AB",text):
        text=re.sub(u"\{\{[Ee]nllaç AB",afegit+u"\n{{Enllaç AB",text,count=1)
        print u"Text afegit davant de la plantilla Enllaç AB"
    elif re.search(u"\[\[ ?[Cc]ategor(ia|y) ?:",text):
        text=re.sub(u"\[\[ ?[Cc]ategor(ia|y) ?:",afegit+u"\n\n[[Categoria:",text,count=1)
        print u"Text afegit davant de les categories"
    elif re.search(u"\{\{[Ee]sborrany",text):
        text=re.sub(u"\{\{[Ee]sborrany",afegit+u"\n{{Esborrany",text,count=1)
        print u"Text afegit davant de la plantilla esborrany"
    else:
        print u"No he trobat on afegir el text "+afegit
    return text

# Funció que insereix la plantilla Commonscat (o un altre text) en una pàgina.
# Mira de posar-la davant de la plantilla Viquiespècies i si no hi és va buscant
# més llocs fins que al final la posa davant de les categories.
# Els arguments són el text de la pàgina i el text a afegir (habitualment la plantilla amb
# el seu paràmetre.
# Retorna el text amb la plantilla (o sense, si no ha trobat on posar-la).
# L'argument és el text i no l'objecte pàgina.
#
def insertaccattxt(text,afegit,espai=0):
    if re.search(u"\{\{([Vv]iquiespècies|[Ww]ikispecies)",text):
        text=re.sub(u"\{\{([Vv]iquiespècies|[Ww]ikispecies)",afegit+u"\n{{Viquiespècies",text)
        print afegit,u"afegit davant de la plantilla Viquiespècies"
    elif re.search(u"== ?Enllaços externs ?==",text):  # PER FER: POSAR LA PLANTILLA ABANS DE VIQUIDITES, VIQUITEXTS, VIQUILLIBRES O VIQUINOTÍCIES, COM A PRIMERA OPCIÓ
        text=re.sub(u"(===? ?Enllaços externs ?===?)",u"== Enllaços externs ==\n"+afegit,text,count=1)
        print afegit,u"afegit a la secció Enllaços externs"
    elif re.search(u"== ?Enllaços ?==",text):
        text=re.sub(u"(== ?Enllaços ?==)",u"== Enllaços externs ==\n"+afegit,text,count=1)
        print afegit,u"afegit a la secció Enllaços (externs)"
    elif re.search(u"== ?Bibliograf[ií]a ?==",text):
        text=re.sub(u"== ?Bibliograf[ií]a ?==",u"== Bibliografia ==\n"+afegit,text,count=1)
        print afegit,u"afegit a la secció Bibliograf[ií]a"
    elif re.search(u"== ?Refer[eè]ncies ?==",text):
        text=re.sub(u"== ?Refer[eè]ncies ?==",u"== Referències ==\n"+afegit,text,count=1)
        print afegit,u"afegit a la secció Referències"
    elif re.search(u"\{\{[Ee]sborrany",text):
        text=re.sub(u"\{\{[Ee]sborrany",afegit+u"\n{{Esborrany",text,count=1)
        print afegit,u"afegit davant de la plantilla esborrany"
    elif espai==14:
        text=afegit+u"\n"+text
        print afegit,u"afegit al principi (en categoria)"
    elif re.search(u"\{\{(ORDENA|DEFAULTSORT)",text):
        text=re.sub(u"\{\{(ORDENA|DEFAULTSORT)",afegit+u"\n\n{{ORDENA",text,count=1)
        print afegit,u"afegit davant de l'ORDENA"
    elif re.search(u"\[\[ ?[Cc]ategoria ?:",text):
        text=re.sub(u"\[\[ ?[Cc]ategoria ?:",afegit+u"\n\n[[Categoria:",text,count=1)
        print afegit,u"afegit davant de les categories"
    elif re.search(u"\{\{[Dd]esambiguació\}\}",text):
        text=re.sub(u"\{\{[Dd]esambiguació\}\}",u"{{Desambiguació}}\n"+afegit,text)
        print afegit,u"afegit darrera plantilla de desambiguació"   
    elif re.search(u"\{\{[Bb]iografies\}\}",text):
        text=re.sub(u"\{\{[Bb]iografies\}\}",u"{{Biografies}}\n"+afegit,text)
        print afegit,u"afegit darrera plantilla de biografies"
    elif re.search(u"\{\{([Bb]iografies|[Dd]esambig|[Aa]crònim|[Oo]nomàstica)",text):
        if u"}}\n*" in text:
            text=text.replace(u"}}\n*",u"}}\n"+afegit+u"\n*",1)
            print afegit,u"afegit davant del primer asterisc"
        elif u"}}\n\n*" in text:
            text=text.replace(u"}}\n\n*",u"}}\n"+afegit+u"\n*",1)
            print afegit,u"afegit davant del primer asterisc"
        else:
            text=text+u"\n"+afegit
            print afegit,u"afegit al final en pàgina de desambiguació"
    else:
        print u"No he trobat on afegir el text "+afegit
    return text

# Funció que insereix la plantilla Autoritat (o un altre text) en una pàgina.
# Mira de posar-la davant de la plantilla Esborrarny o les categories.
# Els arguments són la pàgina i el text a afegir (habitualment la plantilla amb
# el seus paràmetres).
# Retorna el text amb la plantilla (o sense, si no ha trobat on posar-la).
# És una adaptació de la del programa ccat monuments (l'argument és l'objecte pàgina i no el text).
#
def insertaut(page,afegit):
    if page.isRedirectPage():
        page=page.getRedirectTarget()
    text=page.get()
    if re.search(u"\{\{ ?[Bb]ases de dades taxonòmiques",text):
        text=re.sub(u"\{\{ ?[Bb]ases de dades taxonòmiques",afegit+u"\n{{Bases de dades taxonòmiques",text)
        print afegit,u"afegit davant de la plantilla Bases de dades taxonòmiques"
    elif re.search(u"\{\{[Ee]sborrany",text):
        text=re.sub(u"\{\{[Ee]sborrany",afegit+u"\n{{Esborrany",text,count=1)
        print afegit,u"afegit davant de la plantilla esborrany"
    elif re.search(u"\{\{1000 Biografies",text):
        text=re.sub(u"\{\{1000 Biografies",afegit+u"\n{{1000 Biografies",text,count=1)
        print afegit,u"afegit davant de la plantilla 1000 Biografies"
    elif re.search(u"\{\{[Ee]nllaç AD",text):
        text=re.sub(u"\{\{[Ee]nllaç AD",afegit+u"\n{{Enllaç AD",text,count=1)
        print afegit,u"afegit davant de la plantilla Enllaç AD"
    elif re.search(u"\{\{[Ee]nllaç AB",text):
        text=re.sub(u"\{\{[Ee]nllaç AB",afegit+u"\n{{Enllaç AB",text,count=1)
        print afegit,u"afegit davant de la plantilla Enllaç AB"
    elif re.search(u"\{\{(ORDENA|DEFAULTSORT)",text):
        text=re.sub(u"\{\{(ORDENA|DEFAULTSORT)",afegit+u"\n\n{{ORDENA",text,count=1)
        print afegit,u"afegit davant de l'ORDENA"
    elif re.search(u"\[\[ ?[Cc]ategoria ?:",text):
        text=re.sub(u"\[\[ ?[Cc]ategoria ?:",afegit+u"\n\n[[Categoria:",text,count=1)
        print afegit,u"afegit davant de les categories"
    else:
        print u"No he trobat on afegir el text a [["+page.title()+u"]]"
    return text

def posaplantilles(urlautolist):
    paginforme=pywikibot.Page(site,u"Usuari:PereBot/ordena posat per bot")
    pllista=urllib.urlopen(urlautolist)
    print "obert"
    informeordena=False # True per que el programa faci una llista dels articles amb ORDENA posats per bot
    sumariaut=u"Robot insereix {{Autoritat}}"
    if informeordena:
        capinforme=u"\n==Pàgines amb ORDENA posat per bot==\n\n"
        cosinforme=u""
        if paginforme.exists():
            textinforme0=paginforme.get()
        else:
            textinforme0=u""
        cblocinforme=0
        sumarinforme=u"Robot llistant pàgines amb <!--ORDENA generat per bot-->"
    recalfoto=u"\{\{[Cc]al foto (cat|Alt Camp|muntanya Alt Camp|Alt Empordà|masia Alt Empordà|muntanya Alt Empordà|"
    recalfoto=recalfoto+u"Alt Penedès|muntanya Alt Penedès|Alt Urgell|muntanya Alt Urgell|Alta Ribagorça|Amèrica|and|Anoia|Aragó|"
    recalfoto=recalfoto+u"Bages|Baix Camp|Baix Ebre|Baix Empordà|Baix Llobregat|Baix Penedès|bal|bcn|Barcelonès|Berguedà|"
    recalfoto=recalfoto+u"Baixa Cerdanya|collada solsonès|geo|roca de Montserrat|Solsonès|Castellar de la Ribera|"
    recalfoto=recalfoto+u"muntanya Castellar de la Ribera||cat nord|Cerdanyola del Vallès|Clariana de Cardener|comaipedra|"
    recalfoto=recalfoto+u"Conca de Barberà|Fenolleda|font Pallars Jussà|franja|Garraf|Garrigues|Garrotxa|Gironès|Guixers|Lladurs|"
    recalfoto=recalfoto+u"Llobera|Maresme|metro bcn|Moianès|la Molsosa|Montsià|muntanya Alta Ribagorça|muntanya Anoia|muntanya Bages|"
    recalfoto=recalfoto+u"muntanya Baix Camp|muntanya Baix Ebre|muntanya Baix Empordà|muntanya Baix Llobregat|muntanya Baix Penedès|"
    recalfoto=recalfoto+u"muntanya Barcelonès|muntanya Berguedà|muntanya cat|muntanya Cerdanya|muntanya de la Coma i la Pedra|"
    recalfoto=recalfoto+u"muntanya Conca de Barberà|muntanya Clariana de Cardener|"
    recalfoto=recalfoto+u"muntanya Garraf|muntanya Garrigues|muntanya Garrotxa|muntanya Gironès|muntanya Guixers|muntanya lladurs|"
    recalfoto=recalfoto+u"muntanya Llobera|muntanya Maresme|muntanya Montsià|muntanya Navès|muntanya Noguera|muntanya d'Odèn|"
    recalfoto=recalfoto+u"muntanya Olius|muntanya Osona|muntanya Pallars Jussà|muntanya Pallars Sobirà|muntanya Pinell de Solsonès|"
    recalfoto=recalfoto+u"muntanya Pinós|muntanya Pla de l'Estany|muntanya Pla d'Urgell|muntanya Priorat|muntanya Ribera d'Ebre|"
    recalfoto=recalfoto+u"muntanya Riner|muntanya Segarra|muntanya Selva|muntanya solso|muntanya Terra Alta|muntanya Vallès Oriental|"
    recalfoto=recalfoto+u"Navès|Noguera|Odèn|Olius|Osona|Pla de l'Estany|val|Pallars Jussà|Pallars Sobirà|pinellsolso|Pinós|Pla d'Urgell|"
    recalfoto=recalfoto+u"Priorat|Ribera d'Ebre|riner|muntanya Ripollès|Ripollès|Sabadell|Sant Cugat del Vallès|Segarra|Segrià|"
    recalfoto=recalfoto+u"muntanya Segrià|Selva|serra Castellar de la Ribera|serra Clariana de Cardener|serra la Coma i la Pedra|"
    recalfoto=recalfoto+u"serra de Guixers|serra lladurs|serra llobera|serra de la Molsosa|serra navès|serra odèn|serra olius|"
    recalfoto=recalfoto+u"serra Pinell de Solsonès|serra de Pinós|serra de Riner|Solsona|"
    recalfoto=recalfoto+u"muntanya Tarragonès|Tarragonès|Terra Alta|Terrassa|muntanya Urgell|Urgell|València|muntanya Vall d'Aran|"
    recalfoto=recalfoto+u"Vall d'Aran|Vallès Occidental|muntanya Vallès Occidental|Vallès Oriental)\}\}"
    #print recalfoto
    n=1
    linia=u"alguna cosa"
    #Bucle per saltar-se els primers
    #Posar comptador<0 per evitar-lo
    comptador=0
    comptabloc=0
    comptablanc=0
    while linia!="" and comptador<0:#####
        linia=pllista.readline()
        comptador=comptador+1
        comptabloc=comptabloc+1
        if comptabloc>99:
            print comptador,linia
            comptabloc=0
    if comptador>1:
        print u"Saltats",comptador,u"elements"
    n=comptador
    while comptablanc<12:
        try:
            linia=pllista.readline()
            if linia=="":
                print comptablanc,u"línia en blanc"
                comptablanc=comptablanc+1
                continue
            #linia="Q49855" #prova rave
        except:
            print u"Error en llegir la línia"
            pllista=urllib.urlopen(urlautolist)
            print u"Llista tornada a obrir i reiniciada"
            comptador=0
            comptabloc=0
            while linia!="" and comptador<n+1:
                linia=pllista.readline()
                comptador=comptador+1
                comptabloc=comptabloc+1
                if comptabloc>99:
                    print comptador,linia
                    comptabloc=0
        comptablanc=0
        if len(linia)==0 or linia[0]<>"Q":
            print linia,u"no és un element de Wikidata"
            continue
        linia=linia.replace(u"\n",u"")
        n=n+1
        print n,linia
        try:
            pagdata=pywikibot.ItemPage(sitedata,linia)
            artca,ccat,aut,tax,coor,imatge=iwcaccataut(pagdata)
            #print artca,u",",ccat
            if re.match(u"Especial:",artca):
                print u"Pàgina especial. Ho deixem córrer."
                continue
            if len(artca)==0:
                print u"Article sense nom conegut. Ho deixem córrer."
                continue           
            pag=pywikibot.Page(site,artca)
            if pag.namespace()==10:
                print u"Plantilla. No editar."
                continue
            textvell=pag.get()
            plantilles=pag.templates()
            sumari=u""
            germans=False
            # Endreçar plantilles abans de començar
            text,sumari=mouorfe(textvell)
            # Comença la part de posar plantilla Autoritat
            if pag.namespace()!=14 and ((not plant(u'Autoritat') in plantilles) and (not plant(u"Registre d'autoritats") in plantilles) and (not plant(u"Authority control") in plantilles)) and aut>0:
                textnou=insertaut(pag,u"{{Autoritat}}")
                sumari=sumariaut
            else:
                #print u"O ja hi ha la plantilla Autoritat o no hi ha cap autoritat a Wikidata"
                textnou=textvell
            # Comença a posar plantilla Projectes germans en comptes de Commons
            plantarticle=plantilles 
            posagermans=False
            if ccat!="" and not (plant(u'Commonscat') in plantarticle or plant(u'Commons cat') in plantarticle or plant(u'Projectes germans') in plantarticle or plant(u'Commons category') in plantarticle or plant(u'Commonscat-inline') in plantarticle or plant(u'Commons cat') in plantarticle or plant(u'Wikimedia') in plantarticle or plant(u'Sisterlinks') in plantarticle) and plant(u'Commons') in plantarticle:
                posagermans=True
            elif plant(u'Commons') in plantarticle and (re.search(u"\{\{ ?([Vv]iquiespècies|[Ww]ikispecies) ?\| ?",textnou) or re.search(u"\{\{ ?([Vv]iquidites|[Ww]ikiquote|[Qq]uote)",textnou)):
                posagermans=True
            if re.search(u"\{\{ ?[Pp]rojectes germans",textnou):
                posagermans=False
            if posagermans==True:
                textnou=re.sub(u"\{\{ ?[Cc]ommons ?\|",u"{{Projectes germans|commons=",textnou)
                textnou=re.sub(u"\{\{ ?[Cc]ommons ?\}\}",u"{{Projectes germans|commons="+pag.title()+u"}}",textnou)
                if sumari!=u"":
                    sumari=sumari+u" i "
                else:
                    sumari=u"Robot insereix "
                if ccat!="":
                    sumari=sumari+u"{{Projectes germans}} que enllaça amb [[commons:category:"+ccat+u"]]"
                else:
                    sumari=sumari+u"{{Projectes germans}} que enllaça amb galeria de Commons"
            # Comença a posar plantilla Commonscat
            if re.search(u"\{\{Projectes germans\|commons\= ?[Cc]ategory\:",textnou):
                textnou=re.sub(u"\{\{Projectes germans\|commons\= ?[Cc]ategory\:",u"{{Projectes germans|commonscat=",textnou)
                print u"Eliminat commons=category:"
            elif ccat!="" and not (plant(u'Commonscat') in plantarticle or plant(u'Commons cat') in plantarticle or plant(u'Projectes germans') in plantarticle or plant(u'Commons category') in plantarticle or plant(u'Commons') in plantarticle or plant(u'Commonscat-inline') in plantarticle or plant(u'Commons cat') in plantarticle or plant(u'Wikimedia') in plantarticle or plant(u'Sisterlinks') in plantarticle):
                textnou=insertaccattxt(textnou,u"{{Commonscat}}",espai=pag.namespace())
                if sumari!=u"":
                    sumari=sumari+u" i "
                else:
                    sumari="Robot insereix "
                sumari=sumari+u"{{Commonscat}} que enllaça amb [[commons:category:"+ccat+u"]]"
            # Comença a posar plantilla Projectes Germans en comptes de Commonscat
            plantarticle=plantilles 
            posagermans=False
            hihaspecies=re.search(u"\{\{ ?([Vv]iquiespècies|[Ww]ikispecies) ?\| ?",textnou)
            hihadites=re.search(u"\{\{ ?([Vv]iquidites|[Ww]ikiquote|[Qq]uote)",textnou)
            hihacommonscat=re.search(u"\{\{ ?[Cc]ommons ?cat",textnou)
            if hihacommonscat and hihadites:
                if re.search(u"\{\{ ?[Qq]uote box",textnou):
                    textnou=re.sub(u"\{\{ ?[Qq]uote[_ ]box",u"{{Caixa de citació",textnou)
                    print u"Reanomenada plantilla Quote box"
                    hihadites=re.search(u"\{\{ ?([Vv]iquidites|[Ww]ikiquote|[Qq]uote)",textnou)
            if hihacommonscat and (hihaspecies or hihadites):
                posagermans=True
            if re.search(u"\{\{ ?[Pp]rojectes germans",textnou):
                posagermans=False
            if posagermans==True:
                textnou=re.sub(u"\{\{ ?[Cc]ommons ?category",u"{{Commonscat",textnou)
                textnou=re.sub(u"\{\{ ?[Cc]ommons ?cat ?\|",u"{{Projectes germans|commonscat=",textnou)
                textnou=re.sub(u"\{\{ ?[Cc]ommons ?cat ?\}\}",u"{{Projectes germans}}",textnou)
                if sumari!=u"":
                    sumari=sumari+u" i "
                else:
                    sumari=u"Robot insereix "
                sumari=sumari+u"{{Projectes germans}} que enllaça amb categoria de Commons"
            # Comença la part d'incorporar Viquiespècies a Projectes germans
            if u"{{Projectes germans" in textnou:
                if re.search(u"\{\{ ?([Vv]iquiespècies|[Ww]ikispecies)",textnou):
                    paramspecies=u""
                    tplantspecies=re.findall(u"(\{\{\ ?([Vv]iquiespècies|[Ww]ikispecies) ?\|.*\}\})",textnou)
                    if tplantspecies==[]:
                        tplantspecies=re.findall(u"(\{\{\ ?([Vv]iquiespècies|[Ww]ikispecies) ?\|?.*\}\})",textnou)    
                        paramspecies=pag.title()
                        print u"Paràmetre per defecte"
                    try:
                        plantspecies=tplantspecies[0][0]
                    except IndexError:
                        print "Plantilla Viquiespècies no trobada; ho deixem córrer"
                        continue
                    print tplantspecies
                    print plantspecies
                    if paramspecies==u"":
                        paramspecies=re.sub(u"\{\{ ?([Vv]iquiespècies|[Ww]ikispecies) ?\| ?",u"",plantspecies)
                        paramspecies=re.sub(u"\|.*",u"",paramspecies)
                        paramspecies=re.sub(u" ?\}\}",u"",paramspecies)
                    print paramspecies
                    textnou=re.sub(u"\{\{ ?[Pp]rojectes germans",u"{{Projectes germans|Viquiespècies="+paramspecies,textnou)
                    textnou=textnou.replace(plantspecies,u"")
                    if sumari!=u"":
                        if "Projectes germans" in sumari:
                            sumari=sumari+u" i amb [[species:"+paramspecies+u"]]"
                        else:
                            sumari=sumari+u" i incorpora a {{Projectes germans}} enllaç a [[species:"+paramspecies+u"]]"
                    else:
                        sumari=u"Robot incorpora a {{Projectes germans}} enllaç a [[species:"+paramspecies+u"]]"
            # Comença la part d'incorporar Viquidites a Projectes germans
            if u"{{Projectes germans" in textnou:
                if re.search(u"\{\{ ?[Qq]uote box",textnou):
                    textnou=re.sub(u"\{\{ ?[Qq]uote[_ ]box",u"{{Caixa de citació",textnou)
                    print u"Reanomenada plantilla Quote box"
                if re.search(u"\{\{ ?([Vv]iquidites|[Ww]ikiquote|[Qq]uote)",textnou):
                    paramspecies=u""
                    tplantspecies=re.findall(u"(\{\{ ?([Vv]iquidites|[Ww]ikiquote|[Qq]uote) ?\|.*\}\})",textnou)
                    if tplantspecies==[]:
                        tplantspecies=re.findall(u"(\{\{\ ?([Vv]iquidites|[Ww]ikiquote|[Qq]uote) ?\|?.*\}\})",textnou)    
                        paramspecies=pag.title()
                        print u"Paràmetre per defecte"
                    try:
                        plantspecies=tplantspecies[0][0]
                    except IndexError:
                        print "Plantilla Viquidites no trobada; ho deixem córrer"
                        continue
                    print tplantspecies
                    print plantspecies
                    if paramspecies==u"":
                        paramspecies=re.sub(u"\{\{ ?([Vv]iquidites|[Ww]ikiquote|[Qq]uote) ?\| ?",u"",plantspecies)
                        paramspecies=re.sub(u"\|.*",u"",paramspecies)
                        paramspecies=re.sub(u" ?\}\}",u"",paramspecies)
                    print paramspecies
                    textnou=re.sub(u"\{\{ ?[Pp]rojectes germans",u"{{Projectes germans|Viquidites="+paramspecies,textnou)
                    textnou=textnou.replace(plantspecies,u"")
                    if sumari!=u"":
                        if "Projectes germans" in sumari:
                            sumari=sumari+u" i amb [[q:"+paramspecies+u"]]"
                        else:
                            sumari=sumari+u" i incorpora a {{Projectes germans}} enllaç a [[q:"+paramspecies+u"]]"
                    else:
                        sumari=u"Robot incorpora a {{Projectes germans}} enllaç a [[q:"+paramspecies+u"]]"
            # Comença la part de posar Bases de dades taxonòmiques
            if tax>0:
                print "Bases taxonòmiques a Wikidata"
                if plant(u'Bases de dades taxonòmiques') in plantarticle or plant(u'BDT') in plantarticle:
                    print "Plantilles redundants"  #Descomenteu les línies següents per no posar la plantilla si ja hi ha a l'article algun dels enllaços que té
                #elif u'Biolib' in plantarticle or u'Eol' in plantarticle or u'FishBase family' in plantarticle or u'ITIS' in plantarticle or u'MSW' in plantarticle or u'NCBI' in plantarticle:
                #    print "Plantilles redundants"
                #elif u"algaebase.org" in textnou or u"biodiversitylibrary.org" in textnou or u"biolib.cz" in textnou or u"eol.org" in textnou or u"fishbase.org" in textnou:
                #    print "enllaços redundants"
                #elif u"indexfungorum.org" in textnou or u"departments.bucknell.edu" in textnou or u"mycobank.org" in textnou or u"ncbi.nlm.nih.gov" in textnou or u"paleobiodb.org" in textnou or u"theplantlist.org" in textnou or u"marinespecies.org" in textnou: 
                #    print "enllaços redundants"
                #elif u'Autoritat' in plantilles: #En previsió de la fusió d'Autoritat i Bases de dades taxonòmiques.
                #    print u"ja té Autoritat (evitem futur duplicat)"
                elif pag.namespace()==14:
                    print u"Categoria. No cal BDT."
                else:
                    print u"Posem plantilla bases taxonòmiques"
                    textnou=insertatax(textnou,u"{{Bases de dades taxonòmiques}}")
                    if sumari!=u"":
                        if u"{{Autoritat}}" in sumari:
                            sumari=sumari.replace(u"{{Autoritat}}",u"{{Autoritat}} i {{Bases de dades taxonòmiques}")
                        else:
                            sumari=sumari+u" i insereix {{Bases de dades taxonòmiques}"
                    else:
                        sumari=u"Robot insereix {{Bases de dades taxonòmiques}}"
            # Comença la part de posar coordenades
            if coor==True:
                textnounet=re.sub(u"<!--.*?-->",u"",textnou)
                if plant(u'Coord') in plantilles and re.search(u"display ?= ?(it|ti|(inline,) ?title)",textnounet):
                    print u"Detectada plantilla Coord i display=title"
                elif plant(u'Cal coor') in plantilles or plant(u'Cal coor cat') in plantilles:
                    print u"Detectada plantilla Cal coor o Cal coor cat"
                elif plant(u'Infotaula del municipi valencià') in plantilles or plant(u'Infotaula del municipi espanyol') in plantilles or plant(u'Infotaula de municipi de França') in plantilles:
                    print u"Detectada infotaula de municipi que posa coordenades de Wikidata per defecte"
                elif plant(u'Coor Lluna') in plantilles or plant(u'Cel') in plantilles or plant(u'Mart') in plantilles:
                    print u"Detectades plantilles de coordenades astronòmiques"
                elif re.search(u"\{\{ ?[Cc]al coor ?.*(\||\}\})",textnou):
                    print u"Detectat el text de cal coor"
                else:
                    textexp=pag.expand_text()#compat expandtemplates=True
                    if u'<span title="Coordenades geogràfiques WGS84">Coord.:</span> <span class="plainlinks nourlexpansion">[//tools.wmflabs.org/geohack/geohack.php' in textexp:
                        print u"Coordenades detectades per l'enllaç geohack"
                    elif u"http://www.google.com/moon/#lat=" in textexp:
                        print u"Coordenades llunars detectades per l'enllaç Google"
                    else:
                        # Calen coordenades
                        if re.search(u"\[\[ ?[Cc]ategoria ?: ?Estats",text):
                            calcoortxt=u"{{cal coor|type=country}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Províncies|Districtes|Bisbats|Arquebisbats)",text):
                            calcoortxt=u"{{cal coor|type=adm2nd}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Ciutats|Municipis|Barris|Entitats de població)",text):
                            calcoortxt=u"{{cal coor|type=city}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Muntanyes|Volcans|Serres|Serralades)",text):
                            calcoortxt=u"{{cal coor|type=mountain}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Illes|Arxipèlags)",text):
                            calcoortxt=u"{{cal coor|type=isle}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Llacs|Embassaments|Badies|Golfs|Mars|Estrets)",text):
                            calcoortxt=u"{{cal coor|type=waterbody}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Rius|Canals|Torrents|Barrancs|(Cursos|Corrents) d'aigua|Pous|Preses|Rieres)",text):
                            calcoortxt=u"{{cal coor|type=river}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?Glaceres",text):
                            calcoortxt=u"{{cal coor|type=glacier}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Bosco?s|Parcs)",text):
                            calcoortxt=u"{{cal coor|type=forest}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Batalles|Guerres|Competicions|Accidents)",text):
                            calcoortxt=u"{{cal coor|type=event}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Escoles|Centres educatius|Facultats|Universitats|Instituts)",text):
                            calcoortxt=u"{{cal coor|type=edu}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Aeroports|Aeròdroms|Heliports)",text):
                            calcoortxt=u"{{cal coor|type=airport}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Colls|Ports de muntanya)",text):
                            calcoortxt=u"{{cal coor|type=pass}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Estacions|Parades)",text):
                            calcoortxt=u"{{cal coor|type=railwaystation}}"
                        elif re.search(u"\[\[ ?[Cc]ategoria ?: ?(Edificis|Estadis|Pavellons|Teatres|Museus|Restaurants|Hotels|Masies|Palaus|Castells|Esglésies|Catedrals|Capelles|Ermites|Santuaris|Monestirs|Convents|Mesquites|Temples|Fàbriques|Empreses|Agències|Associacions|Clubs|Mines|Centrals|Carrers|Avingudes|Places|Pintures|Escultures)",text):
                            calcoortxt=u"{{cal coor|type=landmark}}"
                        else:
                            calcoortxt=u"{{cal coor}}"
                        textnou=poleix(textnou)
                        textnou=insertacoor(textnou,calcoortxt)
                        if sumari==u"":
                            sumari=u"Robot posa {{cal coor}} que enllaça amb coordenades de Wikidata"
                        else:
                            sumari=sumari+" i posa {{cal coor}}"
            # Si projectes germans només hi és per Commonscat, canvi a plantilla Commonscat (només si ha fet més canvis)
            if textnou!=textvell:
                text0=textnou
                textnou=textnou.replace(u"{{Projectes germans}}",u"{{Commonscat}}")
                if re.search(u"\{\{ ?[Pp]rojectes germans\|commonscat=.*\}\}",textnou):
                    if not re.search(u"\{\{ ?[Pp]rojectes germans\|commonscat=.*\|.*=.*\}\}",textnou):
                        textnou=re.sub(u"\{\{ ?[Pp]rojectes germans\|commonscat=",u"{{Commonscat|",textnou)
                if textnou!=text0:
                    if u"{{Projectes germans}}" in sumari:
                        sumari=sumari.replace(u"{{Projectes germans}}",u"{{Commonscat}}")
                    elif sumari==u"":
                        sumari=u"Robot insereix {{Commonscat}}"
                    else:
                        sumari=sumari+u" i insereix {{Commonscat}}"
            # Revisar plantilles de manca de foto
            plantimatge=False
            if imatge==True and re.search(u"\{\{[Ii]nfotaula del? municipi",textnou):
                plantimatge=True
            elif imatge==True and (plant(u"Platja") in plantarticle or plant(u"Infotaula platges") in plantarticle):
                plantimatge=True
            elif imatge==True and (plant(u"Església") in plantarticle or plant(u"Infotaula patrimoni cultural") in plantarticle):
                plantimatge=True
            elif imatge==True and (plant(u"Masia") in plantarticle or plant(u"Muntanya") in plantarticle):
                plantimatge=True
            elif imatge==True and (plant(u"Infotaula estació de ferrocarril de Catalunya") in plantarticle or plant(u"Infotaula estació de ferrocarril d'Espanya") in plantarticle):
                plantimatge=True
            elif imatge==True and (plant(u"Jaciment arqueològic") in plantarticle or plant(u"Riu") in plantarticle or plant(u"Castell") in plantarticle):
                plantimatge=True
            else:
                plantimatge=False
            if plantimatge==True:
                if re.search(recalfoto,textnou):
                    print u"Traient plantilla cal foto"
                    textnou=re.sub(recalfoto+u"\n",u"",textnou)
                    textnou=re.sub(recalfoto,u"",textnou)
                    if sumari==u"":
                        sumari=u"Robot treu plantilla {{cal foto}} perquè ja hi ha foto de Wikidata"
                    else:
                        sumari=sumari+u" i treu plantilla {{cal foto}} perquè n'hi ha de Wikidata"
                if re.search(u"\[\[[Cc]ategoria:(Articles d.*|Esglésies|Masies|Castells|Rius|Llacs) que necessiten una foto\]\]",textnou):
                    print u"Traient categoria cal foto"
                    textnou=re.sub(u"\[\[[Cc]ategoria:(Articles d.*|Esglésies|Masies|Castells|Rius|Llacs) que necessiten una foto\]\]",u"",textnou)
                    if sumari==u"":
                        sumari=u"Robot treu categoria de manca de foto perquè ja hi ha foto de Wikidata"
                    else:
                        sumari=sumari+u" i treu categoria de manca de foto perquè n'hi ha de Wikidata"
            # Tot incorporat. Poleix i desa.
            if textnou!=textvell:
                textnou=poleix(textnou)
                if sumari==u"":
                    sumari=u"Robot endreça plantilles"
                try:
                    pag.put(textnou,sumari)
                except urllib2.HTTPError:
                    print u"Error HTTP en desar (no deu funcionar el web)"
                except pywikibot.LockedPage:
                    print u"Pàgina protegida"
            # Informe ORDENA
            if informeordena:
                if u"<!--ORDENA generat per bot-->" in textvell:
                    ordena=re.findall(u"\{\{ORDENA:.*\}\}",textvell)[0]
                    print cblocinforme,ordena
                    liniainf=u"#[["+artca+u"]] <nowiki>"+ordena+u"</nowiki>\n"
                    cosinforme=cosinforme+liniainf
                    cblocinforme=cblocinforme+1
                    if cblocinforme>10:
                        putinforme(paginforme,textinforme0,capinforme+cosinforme,sumarinforme)
                        cblocinforme=0
        except KeyError:
            print u"No hi ha iw català"
        except pywikibot.IsRedirectPage:
            print pag,u"és una redirecció"
        except pywikibot.InvalidTitle:
            try:
                print artca,u"és un títol no vàlid"
            except NameError:
                print linia,u"no acaba produint un títol vàlid"
        except pywikibot.NoPage:
            print pag,u"és una redirecció"
    #    break # Per proves amb un únic element
    print "llegit"
    if informeordena:
        if cosinforme!=u"":
            putinforme(paginforme,textinforme0,capinforme+cosinforme,sumarinforme,signa=True)
    return

# El programa comença aquí
site=pywikibot.getSite('ca')
sitedata=site.data_repository() 
urls=[]
#Descomenteu una consulta (o sigui, una de les línies que diuen autolist=):
#Articles amb foto a Wikidata i categoria de mancats de foto
urls.append(u"http://tools.wmflabs.org/autolist/index.php?language=ca&project=wikipedia&category=Articles%20de%20geografia%20que%20necessiten%20una%20foto&depth=12&wdq=CLAIM%5B18%5D%20and%20link%5Bcawiki%5D&pagepile=&statementlist=&run=Run&mode_manual=or&mode_cat=or&mode_wdq=and&mode_find=or&chunk_size=10000&download=1")
#Articles (no categories) amb commonscat a Wikidata sense {{Commonscat}}:
urls.append("http://tools.wmflabs.org/autolist/?language=ca&project=wikipedia&category=Manteniment%20plantilla%20commonscat&depth=2&wdq=CLAIM%5B373%5D%20AND%20link%5Bcawiki%5D%20and%20NOCLAIM%5B31%3A4167836%2C31%3A15647814%2C31%3A20010800%5D&statementlist=&run=Run&mode_manual=or&mode_cat=not&mode_wdq=or&mode_find=or&chunk_size=10000&download=1")
#Categories amb commonscat a Wikidata sense {{Commonscat}}:
urls.append("http://tools.wmflabs.org/autolist/?language=ca&project=wikipedia&category=Manteniment%20plantilla%20commonscat&depth=2&wdq=CLAIM%5B373%5D%20AND%20link%5Bcawiki%5D%20and%20CLAIM%5B31%3A4167836%5D&statementlist=&run=Run&mode_manual=or&mode_cat=not&mode_wdq=or&mode_find=or&chunk_size=10000&namespace=14&download=1")
#Elements amb algun registre d'autoritat sense {{Autoritat}}: 
urls.append("http://tools.wmflabs.org/autolist/?language=ca&project=wikipedia&category=Control%20d%27autoritats&depth=12&wdq=(CLAIM%5B1273%5D%20OR%20CLAIM%5B214%5D%20OR%20CLAIM%5B244%5D%20OR%20CLAIM%5B213%5D%20OR%20CLAIM%5B496%5D%20OR%20CLAIM%5B227%5D%20OR%20CLAIM%5B906%5D%20OR%20CLAIM%5B269%5D%20OR%20CLAIM%5B268%5D%20OR%20CLAIM%5B950%5D%20OR%20CLAIM%5B651%5D%20OR%20CLAIM%5B1015%5D%20OR%20CLAIM%5B245%5D%20OR%20CLAIM%5B902%5D%20OR%20CLAIM%5B886%5D%20OR%20CLAIM%5B434%5D%20OR%20CLAIM%5B549%5D%20OR%20CLAIM%5B409%5D%20OR%20CLAIM%5B349%5D%20OR%20CLAIM%5B1048%5D%20OR%20CLAIM%5B691%5D%20OR%20CLAIM%5B640%5D%20OR%20CLAIM%5B947%5D%20OR%20CLAIM%5B396%5D%20OR%20CLAIM%5B402%5D%20or%20CLAIM%5B345%5D%20or%20CLAIM%5B1296%5D)%20AND%20link%5Bcawiki%5D&mode=wdq_no_cat&statementlist=&run=Run&label_contains=&label_contains_not=&chunk_size=10000&download=1")
#Elements amb alguna propietat de bases de dades taxonòmiques però sense la plantilla:
urls.append("http://tools.wmflabs.org/autolist/?language=ca&project=wikipedia&category=Control%20de%20bases%20de%20dades%20taxon%C3%B2miques&depth=12&wdq=(CLAIM%5B1348%5D%20OR%20CLAIM%5B2036%5D%20OR%20CLAIM%5B687%5D%20OR%20CLAIM%5B838%5D%20OR%20CLAIM%5B1939%5D%20OR%20CLAIM%5B830%5D%20OR%20CLAIM%5B1895%5D%20OR%20CLAIM%5B938%5D%20OR%20CLAIM%5B1747%5D%20OR%20CLAIM%5B846%5D%20OR%20CLAIM%5B1421%5D%20OR%20CLAIM%5B1391%5D%20OR%20CLAIM%5B961%5D%20OR%20CLAIM%5B815%5D%20OR%20CLAIM%5B627%5D%20OR%20CLAIM%5B959%5D%20OR%20CLAIM%5B962%5D%20OR%20CLAIM%5B685%5D%20OR%20CLAIM%5B842%5D%20OR%20CLAIM%5B1070%5D%20OR%20CLAIM%5B2040%5D%20OR%20CLAIM%5B1772%5D%20OR%20CLAIM%5B1745%5D%20OR%20CLAIM%5B850%5D)%20AND%20link%5Bcawiki%5D&mode=wdq_no_cat&statementlist=&run=Run&label_contains=&label_contains_not=&chunk_size=20000&download=1")
#Elements amb coordenades a Wikidata sense coordenades a la Viquipèdia:
urls.append("http://tools.wmflabs.org/autolist/?language=ca&project=wikipedia&category=Manteniment%20de%20coordenades&depth=12&wdq=CLAIM%5B625%5D%20AND%20link%5Bcawiki%5D&mode=wdq_no_cat&statementlist=&run=Run&label_contains=&label_contains_not=&chunk_size=10000&download=1")
#UTILITAT DUBTOSA:
#Elements amb enllaç a la Viquipèdia i a Viquidites (en català):
#autolist="http://tools.wmflabs.org/wikidata-todo/autolist2.php?language=ca&project=wikipedia&category=&depth=12&wdq=link%5Bcawikiquote%5D%20and%20link%5Bcawiki%5D&mode=wdq_no_cat&statementlist=&run=Run&label_contains=&label_contains_not=&chunk_size=10000&download=1"
#Elements amb algun registre d'autoritat sense {{Autoritat}} i amb autoritats i coordenades a Wikidata:
#autolist="http://tools.wmflabs.org/autolist/?language=ca&project=wikipedia&category=Control%20d%27autoritats&depth=12&wdq=(CLAIM%5B1273%5D%20OR%20CLAIM%5B214%5D%20OR%20CLAIM%5B244%5D%20OR%20CLAIM%5B213%5D%20OR%20CLAIM%5B496%5D%20OR%20CLAIM%5B227%5D%20OR%20CLAIM%5B906%5D%20OR%20CLAIM%5B269%5D%20OR%20CLAIM%5B268%5D%20OR%20CLAIM%5B950%5D%20OR%20CLAIM%5B651%5D%20OR%20CLAIM%5B1015%5D%20OR%20CLAIM%5B245%5D%20OR%20CLAIM%5B902%5D%20OR%20CLAIM%5B886%5D%20OR%20CLAIM%5B434%5D%20OR%20CLAIM%5B549%5D%20OR%20CLAIM%5B409%5D%20OR%20CLAIM%5B349%5D%20OR%20CLAIM%5B1048%5D%20OR%20CLAIM%5B691%5D%20OR%20CLAIM%5B640%5D%20OR%20CLAIM%5B947%5D%20OR%20CLAIM%5B396%5D%20OR%20CLAIM%5B402%5D%20or%20CLAIM%5B1296%5D)%20AND%20link%5Bcawiki%5D%20and%20claim%5B625%5D&mode=wdq_no_cat&statementlist=&run=Run&label_contains=&label_contains_not=&chunk_size=10000&download=1"
#OBSOLETS:
#Elements amb propietat relació OSM (NO IMPLEMENTAT EN POSAR LA RELACIÓ):
#autolist="http://tools.wmflabs.org/autolist/?language=ca&project=wikipedia&category=&depth=12&wdq=CLAIM%5B402%5D%20AND%20link%5Bcawiki%5D&mode=undefined&statementlist=&run=Run&label_contains=&label_contains_not=&chunk_size=20000&download=1"
#Elements amb commonscat a Wikidata sense {{Commonscat}}:
#autolist="http://tools.wmflabs.org/autolist/?language=ca&project=wikipedia&category=Manteniment%20plantilla%20commonscat&depth=2&wdq=CLAIM%5B373%5D%20AND%20link%5Bcawiki%5D&mode=wdq_no_cat&statementlist=&run=Run&label_contains=&label_contains_not=&chunk_size=10000&download=1"
#Elements amb CANTIC sense {{Autoritat}}: (OBSOLETA PER CANVI DE NOM DE LA CATEGORIA):
#autolist="http://tools.wmflabs.org/wikidata-todo/autolist2.php?language=ca&project=wikipedia&category=Authority%20control%20usage&depth=12&wdq=CLAIM%5B1273%5D%20AND%20link%5Bcawiki%5D&mode=wdq_no_cat&statementlist=&run=Run&label_contains=&label_contains_not=&chunk_size=10000&download=1"
for url in urls:
    posaplantilles(url)
pywikibot.stopme()