Usuari:PereBot/robot llista manteniment commonscat buida

# -*- coding: utf-8 -*-
# Programa per comprovar si els articles amb la plantilla
# Commonscat sense paràmetre van a una categoria de Commons.
# Treballa sobre la categoria manteniment de la plantilla commonscat buida.

import sys
sys.path.append('C:\pywikipedia')
import wikipedia,catlib,urllib2
import re


#El que fa comença aquí
def main():
    categoria = catlib.Category(site,u"Manteniment plantilla commonscat buida")
    asc=categoria.articlesList(recurse=False)    # Per mirar articles
    asc=asc+categoria.subcategoriesList(recurse=False) # Per mirar categories
    comptapotencial=len(asc)
    #asc=asc[1250:] # Per mirar només una part dels articles
    #wikipedia.getall(site,asc)
    numarticles=len(asc)
    paginforme=wikipedia.Page(site,u"Usuari:PereBot/manteniment Commonscat buida") # Canvieu això pel lloc on vulgueu la informació
    textinforme=paginforme.get()
    catcommons={}
    llista=[]
    compta=0
    for pag in asc:
        compta=compta+1
        if pag.namespace() in [0,4,12,14,100,]:
            nom=re.sub(u"[Cc]ategoria:",u"",pag.title())
            nom=u"category:"+nom
            pagcat=wikipedia.Page(sitecommons,nom)
            print compta,pag,nom,pagcat
            catcommons[pag]=pagcat
            llista.append(pagcat)
    wikipedia.getall(sitecommons,llista)
    comptarticles=0
    compta=0
    textinformesi=u"\n\n===Existeix===\n"
    textinformesi=textinformesi+u"El nom de la pàgina apunta a una categoria de Commons\n\n"
    textinformeno=u"\n\n===No existeix===\n"
    textinformeno=textinformeno+u"El nom de la pàgina NO apunta a cap categoria de Commons\n\n"
    claus=catcommons.keys()
    claus.sort()
    for pag in claus:
        print pag,catcommons[pag]
        if catcommons[pag].exists():
            textinformesi=textinformesi+u"#[[:"+pag.title()+u"]]\n"
        else:
            textinformeno=textinformeno+u"#[[:"+pag.title()+u"]]\n"
    textinforme=textinforme+u"\n\n==Plantilla Commonscat buida==\n\n"
    textinforme=textinforme+textinformesi+textinformeno+u"--~~~~\n\n"
    paginforme.put(textinforme,u"Comprovant on apunta la plantilla Commonscat buida")
    return

#El programa comença aquí
try:
    site=wikipedia.getSite('ca')
    sitecommons=wikipedia.getSite('commons','commons')
    main()
finally:
    wikipedia.stopme()