« Module:Chartes » : différence entre les versions
Apparence
Modèle:Infobox_Musique_(œuvre)>Od1n m suite de la modif précédente (j'ai dû faire en deux temps pour ne pas avoir un diff foireux) |
Modèle:Infobox_Musique_(œuvre)>Od1n m trim trailing spaces |
||
| Ligne 22 : | Ligne 22 : | ||
return "<span class=\"error\">Problème interne au module (données)</span>" | return "<span class=\"error\">Problème interne au module (données)</span>" | ||
end | end | ||
-- vérification de l'existence des données pour l'infobox | -- vérification de l'existence des données pour l'infobox | ||
if (data[infobox] == nil) then | if (data[infobox] == nil) then | ||
| Ligne 57 : | Ligne 57 : | ||
end | end | ||
end -- si pas trouvé on reste sur "1" | end -- si pas trouvé on reste sur "1" | ||
-- on vérifie qu'on a bien un élément | -- on vérifie qu'on a bien un élément | ||
if (data[infobox][tpe][n] == nil) then | if (data[infobox][tpe][n] == nil) then | ||
return "<span class=\"error\">Problème interne au module (élément)</span>" | return "<span class=\"error\">Problème interne au module (élément)</span>" | ||
end | end | ||
-- on retourne la valeur | -- on retourne la valeur | ||
if ((diese == "oui") or (diese == true)) then | if ((diese == "oui") or (diese == true)) then | ||
| Ligne 81 : | Ligne 81 : | ||
Si le type n'est pas précisé ou invalide, "défaut" est retourné | 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 | Si l'infobox n'est pas précisée ou invalide, "biographie" est retournée | ||
Note : wrapper récupérant les paramètres et appelant la « vraie » fonction | Note : wrapper récupérant les paramètres et appelant la « vraie » fonction | ||
--]] | --]] | ||
| Ligne 89 : | Ligne 89 : | ||
local tpe = mw.ustring.lower(frame.args["type"] or "") | local tpe = mw.ustring.lower(frame.args["type"] or "") | ||
local diese = frame.args["dièse"] | local diese = frame.args["dièse"] | ||
return p.charte_m(infobox, categorie, tpe, diese) | return p.charte_m(infobox, categorie, tpe, diese) | ||
end | end | ||
return p | return p | ||
Version du 19 février 2024 à 18:31
La documentation pour ce module peut être créée à Module:Chartes/doc
--[[
Module retournant les couleurs liées à la charte indiquée
--]]
local p = {}
-- on charge le module de données
local success, data = pcall(mw.loadData, "Module:Chartes/données")
--[[
Fonction traitant réellement la demande (voir les paramètres ci-dessous)
Permet d'être appelé directement depuis un autre module, sans passer par
un appel de modèle/module en wikicode
--]]
function p.charte_m(infobox, categorie, tpe, diese)
-- 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) or (tpe == "")) then tpe = "défaut" end
-- interruption si le chargement du module de données a échoué
if (not success) then
return "<span class=\"error\">Problème interne au module (données)</span>"
end
-- 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") or (diese == true)) then
return "#" .. data[infobox][tpe][n]
else
return data[infobox][tpe][n]
end
end
--[[
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)
dièse : définir à "oui" pour préfixer la valeur retournée avec un caractère "#"
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
Note : wrapper récupérant les paramètres et appelant la « vraie » fonction
--]]
function p.charte(frame)
local infobox = frame.args["infobox"]
local categorie = frame.args["catégorie"]
local tpe = mw.ustring.lower(frame.args["type"] or "")
local diese = frame.args["dièse"]
return p.charte_m(infobox, categorie, tpe, diese)
end
return p