Module:Chartes : Différence entre versions
(gestion #) |
(corrige le cas des arguments en majuscule) |
||
Ligne 20 : | Ligne 20 : | ||
local infobox = frame.args["infobox"] or frame:getParent().args["infobox"] | local infobox = frame.args["infobox"] or frame:getParent().args["infobox"] | ||
local categorie = frame.args["catégorie"] or frame:getParent().args["catégorie"] | local categorie = frame.args["catégorie"] or frame:getParent().args["catégorie"] | ||
− | local tpe = frame.args["type"] or frame:getParent().args["type"] | + | local tpe = mw.ustring.lower(frame.args["type"]) or frame:getParent().args["type"] |
local diese = frame.args["dièse"] or frame:getParent().args["dièse"] | local diese = frame.args["dièse"] or frame:getParent().args["dièse"] | ||
Version du 5 janvier 2014 à 12:17
La documentation pour ce module peut être créée à Module:Chartes/doc
--[[ Module retournant les couleurs liées à la charte indiquée --]] local p = {} --[[ Retourne la couleur correspondant à la charte graphique demandée. Les paramètres sont : type : le type de charte demandé (dépend de l'infobox) catégorie : primaire ou secondaire (ou tertiaire), la sous-couleur concernée infobox : l'infobox concernée (valeur par défaut : biographie) Si la catégorie n'est pas précisée ou erronée, primaire est retournée Si le type n'est pas précisé ou invalide, "défaut" est retourné Si l'infobox n'est pas précisée ou invalide, "biographie" est retournée Les paramètres peuvent venir de l'appel au module ou de l'appel au modèle (évalué dans cet ordre). --]] function p.charte(frame) local infobox = frame.args["infobox"] or frame:getParent().args["infobox"] local categorie = frame.args["catégorie"] or frame:getParent().args["catégorie"] local tpe = mw.ustring.lower(frame.args["type"]) or frame:getParent().args["type"] local diese = frame.args["dièse"] or frame:getParent().args["dièse"] -- validation des paramètres (valeur par défaut) if (infobox == nil) then infobox = "biographie" end if (categorie == nil) then categorie = "primaire" end if (tpe == nil) then tpe = "défaut" end -- on charge le module de données local data = require "Module:Chartes/données" -- vérification de l'existence des données pour l'infobox if (data[infobox] == nil) then infobox = "biographie" if (data[infobox] == nil) then -- ne devrait pas se produire ! return "<span class=\"error\">Problème interne au module (infobox)</span>" end end -- si ce type contient une chaîne (au lieu d'une table) c'est un "redirect", on remplace if (type(data[infobox][tpe]) == "string") then tpe = data[infobox][tpe] end -- on vérifie l'existence du type if (data[infobox][tpe] == nil) then tpe = "défaut" if (data[infobox][tpe] == nil) then return "<span class=\"error\">Problème interne au module (type)</span>" end end -- on cherche le numéro d'ordre de la catégorie local n = 1 if (categorie == "primaire" or categorie == "1" or categorie == "principale") then n = 1 elseif (categorie == "secondaire" or categorie == "2") then n = 2 elseif (categorie == "tertiaire" or categorie == "3") then n = 3 -- le 3ème est optionnel if (data[infobox][tpe][n] == nil) then n = 1 end end -- si pas trouvé on reste sur "1" -- on vérifie qu'on a bien un élément if (data[infobox][tpe][n] == nil) then return "<span class=\"error\">Problème interne au module (élément)</span>" end -- on retourne la valeur if (diese == "oui") then return "#" .. data[infobox][tpe][n] else return data[infobox][tpe][n] end end return p