def run(self): if self.infolettre == "wikimag": msg = self.wikimag() elif self.infolettre == "raw": msg = self.raw() else: pywikibot.output("Infolettre '%s' inconnue. Abandon." % self.infolettre) sys.exit(1) # Liste des abonnés r = re.compile("\*\* \{\{u\|(.+?)\}\}\s*(\{\{BeBot nopurge\}\})?", re.LOCALE|re.UNICODE|re.IGNORECASE) liste = [] # [ Nom d'utilisateur ; bool : purge des anciens ] for i in BeBot.page_ligne_par_ligne(self.site, self.abn[self.infolettre]): m = r.search(i) if m is not None: purge = True if m.group(2) is not None: purge = False liste.append([m.group(1), purge]) # Distribution if hasattr(self, "resume"): for l,p in liste: boiteauxlettres = pywikibot.Page(self.site, "Utilisateur:"+l).toggleTalkPage() self.newsboy(boiteauxlettres, msg, p)