#-*- coding:utf-8 -*-
import wikipedia
import urllib
import sys
import pagegenerators
import unicodedata
import catlib
import re
def main():
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")
if page.isRedirectPage():
page = page.getRedirectTarget()
for t in page.getReferences():
if t.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 = 0
for p in pagegenerators.PreloadingGenerator(lst,1000):
b = b-1
print b
if p.isRedirectPage():
p = p.getRedirectTarget()
txt = p.get()
pagename = p.title()
wikipedia.output(pagename)
if pagename[0]!=initiale and pagename[0]<='Z' :
initiale = pagename[0]
result += u'== '+initiale+u' ==\n'
elif pagename[0]>'Z' and maintien==0:
initiale = u'*'
result += u'== '+initiale+u' ==\n'
maintien =1
result += 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')
if choice == 'u':
p.put(newtext,comment=u"Bot: Mise à jour de la liste")
if __name__ == '__main__':
try:
main()
finally:
wikipedia.stopme()