Aller au contenu

Module:Statistiques de portails

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 22 octobre 2014 à 14:14 et modifiée en dernier par Xfigpower (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[créer] [purger]
local p = {}
local math_mod = require( "Module:Math" )

--Chargement de la liste En/Au/Aux/A
local gdata
local success, resultat = pcall (mw.loadData, "Module:Drapeau/Data" )
if success then
    gdata = resultat
else
    -- Banque de données à minima en cas de bogue dans le Module:Langue/Data
    gdata={}
    gdata.data={};
    gdata.data[142]={qid="Q142", label="France", genre="fs"}
end
--Aide:Fonction_genre
local genre={
 ms=  {le="le " ,du="du "   ,de="du "   ,au="au "   ,en="au "}
,msa= {le="l'"	,du="de l'"	,de="d'"	,au="à l'"	,en="en "}
,msi= {le=""    ,du="de "	,de="de "	,au="à "	,en="à "}
,msia={le=""	,du="d'"	,de="d'"	,au="à "	,en="à "}
,fs=  {le="la "	,du="de la ",de="de "   ,au="à la "	,en="en "}
,fsa= {le="l'"	,du="de l'"	,de="d'"	,au="à l'"	,en="en "}
,fsi= {le=""	,du="de "	,de="de "	,au="à "	,en="à "}
,fsia={le=""	,du="d'"	,de="d'"	,au="à "	,en="à "}
,mp=  {le="les ",du="des "	,de="des "	,au="aux "	,en="aux "}
,fp=  {le="les ",du="des "	,de="des "	,au="aux "	,en="aux "}
}
function pagesInCategory(pays,portail) 
	local i = {}
	
 	if (portail == nil) then
 		portail=pays
 	end
 	i['portail']=portail
 	
	local paysId = gdata.idByName[string.lower(pays)]
	local paysData =gdata.data[paysId]
	
	local catPortail='Portail:' .. portail .. '/Articles liés'
	i['catPortail']='Category:'..catPortail
	i['articles']=mw.site.stats.pagesInCategory( catPortail, 'pages'  )
	local catgeo ='Article géolocalisé ' .. genre[paysData.genre].en .. ' ' .. paysData.label
	local catgeoQ1 ='Article de qualité géolocalisé ' .. genre[paysData.genre].en .. ' ' .. paysData.label
	local catgeoQ2 ='Bon article géolocalisé ' .. genre[paysData.genre].en .. ' ' .. paysData.label
	i['catGeo']='Category:'..catgeo
	i['geo']=mw.site.stats.pagesInCategory( catgeo, 'pages'  )+mw.site.stats.pagesInCategory( catgeoQ1, 'pages'  )+mw.site.stats.pagesInCategory( catgeoQ2, 'pages'  )
	i['geoRatio']=	math.floor(10000*i['geo']/i['articles'])/100;
	
	
	return i
end

function p.row(frame) 
	local args = frame.args
	local i = {}
	
	local tab = pagesInCategory(args[1],args[2])
	return '\r\n!-\r\n'
		..'|  [[Portail:'..tab['portail']..']]*'
		..'|| [[:'..tab['catPortail'] .. '|' .. tab['articles'] ..']]'
		..'|| [[:'..tab['catGeo'] .. '|' .. tab['geo'] ..']]'
		..'|| '.. tab['geoRatio'] .. '%'
end

return p