Usuari:ArnauBot/Codi
Aparença
# -*- coding: utf-8 -*-
import sys
sys.path.append('D:\Arnau\Viquipèdia\Bots')
import wikipedia,catlib
import re
# Retorna les categories i articles d'una categoria, subcategories incloses.
# No torna a mirar les categories que ja ha mirat.
# Filtra pels noms de les categories fent servir una expressió regular.
# funció escrita per Pere prlpz
def miracatfiltre(cat,catprevies=[],filtre=u""):
articles=cat.articlesList(recurse=False)
categories=cat.subcategoriesList(recurse=False)
for scat in categories:
print scat
if scat not in catprevies:
catprevies.append(scat)
if filtre==u"":
nopassa=False
print u"Filtre desactivat"
else:
nopassa=re.search(filtre,scat.title())
if not nopassa:
print u"Es llegeix", scat
noucats,nouarts=miracatfiltre(scat,catprevies+categories,filtre)
categories=categories+noucats
articles=articles+nouarts
else:
print u"No es llegeix", scat
else:
print u"Aquesta ja la tinc vista"
articles=catlib.unique(articles)
return categories, articles
## Programa
site=wikipedia.getSite('ca')
categoria = catlib.Category(site,u"Pel·lícules de Catalunya en català")
cats, asc = miracatfiltre(categoria) #retorna: categories, articles
paginforme=wikipedia.Page(site,"Usuari:ArnauBot/Prova") #Pàgina on voleu l'informe. Ha d'existir.
informe=u"Hola\n\n"
for pag in asc:
print pag
text=pag.get()
textmodif=text
textmodif=re.sub(u"pel·l[íi]cula catalana", u"[[cinema català|pel·lícula catalana]]", textmodif)
textmodif=re.sub(u"\[\[pel·lícula\]\] catalana", u"[[cinema català|pel·lícula catalana]]", textmodif)
textmodif=re.sub(u"pel·lícula \[\[catalana\]\]", u"[[cinema català|pel·lícula catalana]]", textmodif)
textmodif=re.sub(u"\[\[pel·lícula\]\] \[\[(Catalunya\|)?catalana\]\]", u"[[cinema català|pel·lícula catalana]]", textmodif)
if textmodif != text:
pag.put(textmodif,u"Posant enllaç a [[cinema català]] on pertoca")
informe=informe+u"# [["+pag.title()+u"]]"+u"\n"
#print informe
paginforme.put(informe,u"Llista d'articles modificats")
wikipedia.stopme()