Usuari:PereBot/robot interviquis romanents

De la Viquipèdia, l'enciclopèdia lliure
# -*- coding: utf-8 -*-
# Programa per buscar articles que encara tenen interviquis a la pàgina (en local)

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

def main():
    asc=pagegenerators.PreloadingGenerator(pagegenerators.AllpagesPageGenerator(namespace=0,includeredirects=False),pageNumber=124)
    expr=u"\[\[(en|nl|de|sv|fr|it|ru|es|pl|war|ceb|ja|vi|pt|zh|uk|ca|no|fa|fi|id|cs|ko"
    expr=expr+u"|hu|ar|ms|ro|sr|min|tr|kk|eo|sk|da|eu|lt|bg|he|hr|sl|uz|vo|et|hi|gl|nn"
    expr=expr+u"|simple|la|hy|az|el|sh|oc|th|ka|mk|new|be|pms|tl|ta|te|ht|tt|cy|lv|be-x-old"
    expr=expr+u"|sq|bs|br|mg|jv|lb|mr|is|ml|my|ba|yo|an|af|pnb|lmo|fy|ga|bn|zh-yue|ur|sw|io"
    expr=expr+u"|bpy|ne|ky|gu|scn|tg|nds|ku|cv|ast|qu|sco|su|als|kn|ia|bug|nap|bat-smg|ckb"
    expr=expr+u"|am|wa|map-bms|ce|gd|hif|mn|arz|zh-min-nan|mzn|yi|vec|sah|nah|sa|si|roa-tara"
    expr=expr+u"|os|bar|pam|pa|hsb|se|li|fo|mi|co|ilo|gan|bo|frr|glk|rue|bcl|nds-nl|fiu-vro"
    expr=expr+u"|mrj|tk|ps|vls|xmf|gv|or|diq|zea|kv|km|mhr|pag|csb|vep|dv|nrm|hak|rm|koi"
    expr=expr+u"|udm|lad|wuu|lij|zh-classical|sc|fur|stq|mt|ug|ay|so|pi|nov|bh|ksh|gn|gag"
    expr=expr+u"|kw|ang|as|eml|pcd|ace|nv|szl|ext|frp|ie|mwl|ln|pfl|lez|krc|xal|haw|pdc|rw"
    expr=expr+u"|crh|dsb|to|sn|arc|kl|myv|kab|bjn|pap|tpi|kbd|lo|lbe|wo|mdf|jbo|cbk-zam|av"
    expr=expr+u"|srn|ty|kg|ab|na|tet|bxr|ltg|ig|nso|za|kaa|zu|chy|rmy|cu|tn|chr|cdo|roa-rup"
    expr=expr+u"|bi|got|pih|sm|mo|bm|iu|ss|sd|pnt|ki|tyv|ee|ha|om|fj|ti|ts|ks|tw|sg|ve|st"
    expr=expr+u"|ff|rn|cr|dz|ak|tum|ik|lg|ny|ch|xh|ng|ii|cho|mh|aa|kj|ho|mus|kr|hz)\:"
    paginforme=wikipedia.Page(site,u"Usuari:PereBot/interviquis romanents")
    textvell=paginforme.get()
    informe=u""
    comptador=0
    comptabloc=0 #Per proves. Normalment comptabloc=0
    for pag in asc:
        comptador=comptador+1
        comptabloc=comptabloc+1
#        print comptador,pag
        text=pag.get()
        if re.search(expr,text):
            print comptador,pag,u"TÉ INTERVIQUIS"
            informe=informe+u"# [["+pag.title()+u"]]\n"
        if comptabloc>5000:
            comptabloc=0
            print comptador
            try:
                textnou=textvell+u"\n\n==Pàgines amb interviquis locals==\n"+informe+u"Tasca en curs.\n"
                paginforme.put(textnou,u"Pàgines amb interviquis locals")
            except EditConflict:
                textvell=paginforme.get(force=True)
                textnou=textvell+u"\n\n==[[:Categoria:"+origen+u"]]==\n"+informe+u"Tasca en curs.\n"
                paginforme.put(textnou,u"Pàgines amb interviquis locals")
    try:
        textnou=textvell+u"\n\n==Pàgines amb interviquis locals==\n"+informe+u"Tasca acabada. --~~~~\n"
        paginforme.put(textnou,u"Pàgines amb interviquis locals")
    except EditConflict:
        textvell=paginforme.get(force=True)
        textnou=textvell+u"\n\n==[[:Categoria:"+origen+u"]]==\n"+informe+u"Tasca acabada. --~~~~\n"
        paginforme.put(textnou,u"Pàgines amb interviquis locals")
    return

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

Versió adaptada als nous mòduls:

# -*- coding: utf-8 -*-
# Programa per buscar articles que encara tenen interviquis a la pàgina (en local)

import pywikibot,re
from pywikibot import pagegenerators

def main():
    allpages = pagegenerators.AllpagesPageGenerator(site=site, namespace=0, includeredirects = False)
    asc= pagegenerators.PreloadingGenerator(allpages, pageNumber=124)
    expr=u"\[\[(en|nl|de|sv|fr|it|ru|es|pl|war|ceb|ja|vi|pt|zh|uk|ca|no|fa|fi|id|cs|ko"
    expr=expr+u"|hu|ar|ms|ro|sr|min|tr|kk|eo|sk|da|eu|lt|bg|he|hr|sl|uz|vo|et|hi|gl|nn"
    expr=expr+u"|simple|la|hy|az|el|sh|oc|th|ka|mk|new|be|pms|tl|ta|te|ht|tt|cy|lv|be-x-old"
    expr=expr+u"|sq|bs|br|mg|jv|lb|mr|is|ml|my|ba|yo|an|af|pnb|lmo|fy|ga|bn|zh-yue|ur|sw|io"
    expr=expr+u"|bpy|ne|ky|gu|scn|tg|nds|ku|cv|ast|qu|sco|su|als|kn|ia|bug|nap|bat-smg|ckb"
    expr=expr+u"|am|wa|map-bms|ce|gd|hif|mn|arz|zh-min-nan|mzn|yi|vec|sah|nah|sa|si|roa-tara"
    expr=expr+u"|os|bar|pam|pa|hsb|se|li|fo|mi|co|ilo|gan|bo|frr|glk|rue|bcl|nds-nl|fiu-vro"
    expr=expr+u"|mrj|tk|ps|vls|xmf|gv|or|diq|zea|kv|km|mhr|pag|csb|vep|dv|nrm|hak|rm|koi"
    expr=expr+u"|udm|lad|wuu|lij|zh-classical|sc|fur|stq|mt|ug|ay|so|pi|nov|bh|ksh|gn|gag"
    expr=expr+u"|kw|ang|as|eml|pcd|ace|nv|szl|ext|frp|ie|mwl|ln|pfl|lez|krc|xal|haw|pdc|rw"
    expr=expr+u"|crh|dsb|to|sn|arc|kl|myv|kab|bjn|pap|tpi|kbd|lo|lbe|wo|mdf|jbo|cbk-zam|av"
    expr=expr+u"|srn|ty|kg|ab|na|tet|bxr|ltg|ig|nso|za|kaa|zu|chy|rmy|cu|tn|chr|cdo|roa-rup"
    expr=expr+u"|bi|got|pih|sm|mo|bm|iu|ss|sd|pnt|ki|tyv|ee|ha|om|fj|ti|ts|ks|tw|sg|ve|st"
    expr=expr+u"|ff|rn|cr|dz|ak|tum|ik|lg|ny|ch|xh|ng|ii|cho|mh|aa|kj|ho|mus|kr|hz)\:"
    paginforme= pywikibot.Page(site,u"Usuari:KRLS/interviquis")
    textvell=paginforme.get()
    informe=u""
    comptador=0
    comptabloc=0 #Per proves. Normalment comptabloc=0
    for pag in asc:
        comptador=comptador+1
        comptabloc=comptabloc+1
#        print comptador,pag
        text=pag.get()
        if re.search(expr,text):
            print comptador,pag,u"TÉ INTERVIQUIS"
            informe=informe+u"# [["+pag.title()+u"]]\n"
        if comptabloc>5000:
            comptabloc=0
            print comptador
            try:
                textnou=textvell+u"\n\n==Pàgines amb interviquis locals==\n"+informe+u"Tasca en curs.\n"
                paginforme.put(textnou,u"Pàgines amb interviquis locals")
            except EditConflict:
                textvell=paginforme.get(force=True)
                textnou=textvell+u"\n\n==[[:Categoria:"+origen+u"]]==\n"+informe+u"Tasca en curs.\n"
                paginforme.put(textnou,u"Pàgines amb interviquis locals")
    try:
        textnou=textvell+u"\n\n==Pàgines amb interviquis locals==\n"+informe+u"Tasca acabada. --~~~~\n"
        paginforme.put(textnou,u"Pàgines amb interviquis locals")
    except EditConflict:
        textvell=paginforme.get(force=True)
        textnou=textvell+u"\n\n==[[:Categoria:"+origen+u"]]==\n"+informe+u"Tasca acabada. --~~~~\n"
        paginforme.put(textnou,u"Pàgines amb interviquis locals")
    return

#El programa comença aquí
try:
    site = pywikibot.Site("ca", "wikipedia")
    main()
finally:
    exit(0)