#!/usr/bin/env python# -*- coding: utf-8 -*-importsys,reimportpywikibotfrompywikibotimportbotfrompywikibotimportpagegeneratorsaspgimportdatetimesite=pywikibot.getSite()defmain(n):#llistat de pagines novesgen=pg.NewpagesPageGenerator(total=n)try:forpageingen:timestamp=str(page.getVersionHistory(reverseOrder=True,total=1)[0][1])_format="%Y-%m-%dT%H:%M:%SZ"d=datetime.datetime.strptime(timestamp,_format)now=datetime.datetime.now()tcreacio=now-dscreacio=tcreacio.total_seconds()ifscreacio>21600:text=page.textcreador=page.getVersionHistory(reverseOrder=True,total=1)[0][2]title=page.title(asLink=True)bot.output(u"Processant %s"%title)ifnotre_pag.search(text):bot.output(u"No té referències")disc=pywikibot.Page(site,u"Usuari discussió:"+creador)disctext=disc.text#Ja l'hem avisat?enc=u"Recordatori de referències per %s"%titleifre.search(ur"%s"%enc,disc.text):bot.output(u"Ja he fet %s. Me la salto!"%title)#Deixa el missatge si no l'ha fetconfirm=bot.input(u"Deixo el missatge a "+creador+"?")ifconfirm.lower()in("","s","si","y"):msg=u"{{subst:Usuari:GerardBot/Plantilla:Avís falten referències|%s|~~~~|%s}}"%(title,creador)disc.text=disc.text+msgdisc.save(u"Bot avisant a l'usuari per falta se referències. Siusplau aviseu d'un error a la seva pàgina de discussió")else:bot.output(u"No deixo el missatge")else:bot.output(u"Té referències")continueelse:bot.output(u"Fa %r segons que s'ha creat l'article, m'espero a que passi més temps per avisar"%screacio)continueexcept(BaseException),err:ifKeyboardInterrupt():bot.output(u" M'has parat! %r"%err)else:bot.output(u"Alguna cosa ha fallat %r"%err)finally:bot.output(u"Hem acabat!")if__name__=="__main__":preg=Truere_pag=re.compile(ur"(<ref|Referències|{{(?:FVA|[Ff]alta verificar admissibilitat|[Ff]alten referències|FR|[Bb]iografies|[Dd]esambig[Cc]urta|[Aa]crònim|[Oo]nomàstica)|[Dd]esambiguació|#REDIRECT)")whilepreg:n=bot.input(u"Quantes pàgines farem?")try:n=int(n)main(n)except:bot.output(u"Com no posis un nombre estarem aquí fins demà")resp=bot.input("Seguim?\n[S/n]")ifresp.lower()in("","s","si","y"):preg=Trueelse:preg=Falsebot.output(u"Ara sí que hem acabat")