Aller au contenu

Module:Parti politique

Cette page fait l’objet d’une mesure de semi-protection étendue.
Une page de Wikipédia, l'encyclopédie libre.

 Documentation[créer] [purger]
local p = {}

local Data = mw.loadData( 'Module:Parti politique/Data' )


function p._couleur( page )
	if type( page ) ~= 'string' then
		return nil
	end
	page = mw.text.trim( page ):gsub( '^%[%[ *([^%[%]|]+).+$', '%1' )
	local couleur 
	if Data[ page ] then
		couleur = Data[ page ].couleur
	end
	if couleur and not couleur:match( '^#' ) and not Data.webColor[ couleur ] then
		local moduleCouleur = mw.loadData( 'Module:Couleur/Data' )
		if moduleCouleur[ couleur ] then
			couleur = '#' .. moduleCouleur[ couleur ]
		end
	end
	return couleur
end

-- fonction qui retourne la couleur associée à un parti politique
-- paramètre : 
--		1 - paramètre couleur ayant la priorité sur la couleur habituelle du parti
-- 		2 - le nom de la page du parti politique (éventuellement dans un lien)
--		3 - couleur par défaut
-- la fonction retourne la couleur dans une balise nowiki pour éviter l'ajout d'un retour ligne par Mediawiki
function p.couleur( frame )
	local couleur
	if frame.args[1]:match( '%S' ) then
		couleur = mw.text.trim( frame.args[1] )
	else
		local page = frame.args[2]
		couleur = p._couleur( page ) or mw.text.trim( frame.args[3] or '' )
	end
	if couleur and couleur:match( '^#' ) then
		couleur = mw.text.nowiki( couleur )
	end
	return couleur
end

-- fonction qui retourne le logo d'un parti politique
-- paramètres : 
--		1 - paramètre logo ayant la priorité sur la couleur habituelle du parti
--		2 - le nom de la page du parti politique (éventuellement dans un lien)
--		3 - date ( à implémenter )
-- 		4 - logo par défaut
function p.logo( frame )
	local logo
	if frame.args[1]:match( '%S' ) then
		logo = mw.text.trim( frame.args[1] )
	else
		local page = frame.args[1]
		-- local date = frame.args[2]
		logo = Data[ page ] and Data[ page ].logo
	end
	return logo or mw.text.trim( frame.args[3] or '' )
end

return p