#-*- coding:utf-8 -*-importwikipediaimporturllibimportsysimportpagegeneratorsimportunicodedataimportcatlibimportredefmain():f3=open(u'Result.txt','w')f3.close()f3=open(u'Result.txt','a')site=wikipedia.getSite(u"fr",'wikipedia')lst=[]page=wikipedia.Page(site,u"Modèle:Portail Allier")ifpage.isRedirectPage():page=page.getRedirectTarget()fortinpage.getReferences():ift.namespace()==0:t=t.title()lst.append(wikipedia.Page(site,t))b=len(lst)lst.sort()result=u"== Nombre d'articles ==\n'''"+str(b)+u"'''\n"initiale=u'0'maintien=0forpinpagegenerators.PreloadingGenerator(lst,1000):b=b-1printbifp.isRedirectPage():p=p.getRedirectTarget()txt=p.get()pagename=p.title()wikipedia.output(pagename)ifpagename[0]!=initialeandpagename[0]<='Z':initiale=pagename[0]result+=u'== '+initiale+u' ==\n'elifpagename[0]>'Z'andmaintien==0:initiale=u'*'result+=u'== '+initiale+u' ==\n'maintien=1result+=u'* [['+pagename+u']]\n'f3.write(result.encode('utf-8'))f3.close()page=wikipedia.Page(site,u"Projet:Allier/Articles")text=page.get()newtext=re.sub(u"<!-- DEBUT BOT -->([^þ]*)<!-- FIN BOT -->",u"<!-- DEBUT BOT -->\n"+result+u"<!-- FIN BOT -->",text)wikipedia.showDiff(text,newtext)choice='u'choice=wikipedia.inputChoice(u'upload, Skip',['upload','Skip'],['u','S'],'s')ifchoice=='u':p.put(newtext,comment=u"Bot: Mise à jour de la liste")if__name__=='__main__':try:main()finally:wikipedia.stopme()