« Module:Chartes » : différence entre les versions

79 octets enlevés ,  19 février 2024
n'était pas nécessaire puisque nil est falsy, mais c'est pour clarifier le code
m (1 version importée)
Modèle:Infobox Musique (œuvre)>Od1n
(n'était pas nécessaire puisque nil est falsy, mais c'est pour clarifier le code)
Ligne 17 : Ligne 17 :
if (infobox == nil) then infobox = "biographie" end
if (infobox == nil) then infobox = "biographie" end
if (categorie == nil) then categorie = "primaire" end
if (categorie == nil) then categorie = "primaire" end
if ((tpe == nil) or (tpe == "")) then tpe = "défaut" end
if (tpe == nil) then tpe = "défaut" end
if (diese == nil) then diese = false end
-- interruption si le chargement du module de données a échoué
-- interruption si le chargement du module de données a échoué
if (not success) then
if (not success) then
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 58 :
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) then
return "#" .. data[infobox][tpe][n]
return "#" .. data[infobox][tpe][n]
else
else
Ligne 81 : Ligne 82 :
   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
 
 
  Les paramètres peuvent venir de l'appel au module ou de l'appel au modèle (évalué dans cet ordre).
 
   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
--]]
--]]
function p.charte(frame)
function p.charte(frame)
local infobox = frame.args["infobox"] or frame:getParent().args["infobox"]
local args = frame.args
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"] or "")
local infobox = (args["infobox"] and args["infobox"] ~= "")
local diese = frame.args["dièse"] or frame:getParent().args["dièse"]
and args["infobox"]
or nil
 
local categorie = (args["catégorie"] and args["catégorie"] ~= "")
and args["catégorie"]
or nil
 
local tpe = (args["type"] and args["type"] ~= "")
and mw.ustring.lower(args["type"])
or nil
 
local diese = (args["dièse"] == "oui")
 
return p.charte_m(infobox, categorie, tpe, diese)
return p.charte_m(infobox, categorie, tpe, diese)
end
end


return p
return p