Utilisateur:DSisyphBot/Script/logoref.py

#-*- coding:utf-8 -*-
 
import wikipedia
import urllib
import sys
import pagegenerators

 
def main():
	f = open (u'Result.txt','w')
	f.write(u'Mise à jour : ~~~~~\n\n{{| class="sortable wikitable" style="text-align:center"\n! Image !! Nombre d\'inclusions\n')
	site = wikipedia.getSite('fr','wikipedia')
	templatelist = [u"Fair use",u"Fair use timbre",u"Fair use monnaie",u"Fair use bâtiment récent",u"Fair use médaille",u"Marque déposée"]
	for template in templatelist:
                page = wikipedia.Page(site,u"Modèle:"+template)
                lst = []
                for t in page.getReferences():
                        if t.namespace()==6: 
                                lst.append( wikipedia.ImagePage( site, t.title() ) )
                b= len(lst)
                for p in pagegenerators.PreloadingGenerator(lst,1000):
                        b -=1
                        c=0
                        for r in p.usingPages():
                                if r.namespace()==0 or r.namespace()==14: #Ne tient compte que de l'espace main et category pour le compteur
                                        #wikipedia.output(r.title())
                                        c +=1
                        if c>4:  #Limite min de 5 pages contenant l'image
                                pagename = p.title()
                                wikipedia.output(pagename +u' présent sur %i pages encyclopédiques' % c)
                                wikipedia.output(u'Pages restantes : %i' % b)
                                pagename = u'|-\n| [[:' + pagename + u']]\n| ' + str(c) +u'\n'
                                f.write(pagename.encode('utf-8'))
	f.write(u'|}\n\n[[Catégorie:Maintenance des logos]]'.encode('utf-8'))
        f.close()
	
 
 
if __name__ == '__main__':
	try:
		main()
	finally:
		wikipedia.stopme()