« Module:Correction syntaxique » : différence entre les versions
Aller à la navigation
Aller à la recherche
Modèle>Od1n (mieux de laisser le tri par défaut, sinon tout est dans "0-9"… seule exception, on affiche en tête avec "+" les pages avec plus de 10 erreurs, cas assez exceptionnel) |
Modèle>Zolo (sépare récup des arguments et logique reste de la fonction pour pouvoir utiliser le module simplement depuis Lua) |
||
| Ligne 1 : | Ligne 1 : | ||
local p = {} | local p = {} | ||
function p. | function p.verif(passed_args, modele_args) | ||
local rv = "" | local rv = "" | ||
local nombre = 0 | local nombre = 0 | ||
| Ligne 26 : | Ligne 24 : | ||
end | end | ||
return rv | return rv | ||
end | |||
function p.verifierLesArguments(frame) | |||
local passed_args = frame:getParent().args | |||
local modele_args = frame.args | |||
p.verif(passed_args, modele_args) | |||
end | end | ||
return p | return p | ||
Version du 9 septembre 2017 à 15:06
La documentation pour ce module peut être créée à Module:Correction syntaxique/doc
local p = {}
function p.verif(passed_args, modele_args)
local rv = ""
local nombre = 0
for a,b in pairs(passed_args) do
if (modele_args[a] == nil and b ~= "") then
nombre = nombre + 1
rv = rv .. '<div class="erreur_syntaxe_modele" style="display:none">' .. "L'argument " .. mw.text.nowiki(a) .. " (valeur " .. mw.text.nowiki(b) .. ") n'existe pas dans le modèle appelé</div>"
end
end
if (nombre > 0) then
local categorie
if (modele_args["_catégorie"] and modele_args["_catégorie"] ~= "") then
categorie = tostring(mw.title.new(modele_args["_catégorie"], "Catégorie"))
else
categorie = "Catégorie:Page appelant un modèle avec un paramètre inconnu"
end
if (nombre > 10) then
rv = rv .. "[[" .. categorie .. "|+]]"
else
rv = rv .. "[[" .. categorie .. "]]"
end
end
return rv
end
function p.verifierLesArguments(frame)
local passed_args = frame:getParent().args
local modele_args = frame.args
p.verif(passed_args, modele_args)
end
return p