Utilisateur:Louperivois/python1

Ce bout de code Python, extrait d'un script de ma conception, calcule le nombre d'articles dans une liste de catégorie. Il faut l'ajouter dans le dossier de Pywikipedia pour qu'il soit fonctionnel.

  • Il est possible d'ajouter autant de catégories que vous le voulez, le script fait l'addition. Pour ce faire, ajoutez une ligne semblable aux autres dans la liste tab. N'écrivez pas le préfixe « Catégorie: ».
  • La variable langue définit la langue dans laquelle les catégorie se trouvent. Elle vaut par défaut la langue que vous avez choisie dans votre configuration Pywikipedia (par exemple, "fr").
  • Pour n'inclure que les pages de l'espace encyclopédique, donnez une valeur supérieure à 0 à la variable principalSeulement.
# -*- coding: utf-8 -*-

import wikipedia, catlib, config

tab = [
	u"Nom de la première catégorie",
	u"Nom de la seconde catégorie",
#	  Ajoutez des lignes ici
]
total = []
principalSeulement = 0
langue = ""

if(len(langue)==0):
	langue = config.mylang
if langue not in wikipedia.Site('fr').languages():
	wikipedia.output(u"La langue indiquée n'existe pas.")
r = 0
nb = len(tab)
while r < nb:
	t = "Category:%s" % tab[r]
	if(wikipedia.Page(wikipedia.getSite(langue),t).isCategory() and wikipedia.Page(wikipedia.getSite(langue),t).exists()):
		cat = catlib.Category(wikipedia.getSite(langue),t)
		listOfArticles = cat.articlesList()
		noa = len(listOfArticles)
		if principalSeulement > 0:
			c = 0
			while c < len(listOfArticles):
				if(listOfArticles[c].namespace() != 0):
					noa = noa-1
				c=c+1
		total.append(noa)
	else:
		wikipedia.output(u"La catégorie \" %s \" n'existe pas et sera ignorée dans le décompte." % tab[r])
	r=r+1

nt = sum(total)
addes = "a"
adds = ""
if nb > 1:
	addes = "es"
	adds = "s"
adds2 = ""
if nt > 1:
	adds2 = "s"
text = u"\03{lightpurple}Il y a %i article%s dans l%s catégorie%s mentionnée%s.\03{default}" % (nt,adds2,addes,adds,adds)
wikipedia.output(text)