Utilisateur:DSisyphBot/Script/Projet:Allier/Articles

Une page de Wikipédia, l'encyclopédie libre.
#-*- 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()