Module:Correction syntaxique : Différence entre versions

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher
(Création d'un template permettant de trouver les modules appelés avec des paramètres inconnus)
 
(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)
 
(16 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 2 : Ligne 2 :
  
 
function p.verifierLesArguments(frame)
 
function p.verifierLesArguments(frame)
local passed_args = frame:getParent().args
+
    local passed_args = frame:getParent().args
local modele_args = frame.args
+
    local modele_args = frame.args
local rv = "passed args : "
+
    local rv = ""
 +
    local nombre = 0
 
     for a,b in pairs(passed_args) do
 
     for a,b in pairs(passed_args) do
      if (modele_args[a] == nil) then
+
        if (modele_args[a] == nil and b ~= "") then
      rv = rv .. '<div style="display: none">' .."L'argument " .. a .. " n'existe pas dans le modèle appelé</div>"
+
            nombre = nombre + 1
      rv = rv .. "[[Catégorie:Page appelant un modèle avec un paramètre inconnu]]"
+
            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
 +
    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
 
     end
 
 
     return rv
 
     return rv
 
end
 
end
  
 
return p
 
return p

Version actuelle datée du 15 février 2017 à 00:45

La documentation pour ce module peut être créée à Module:Correction syntaxique/doc

local p = {}

function p.verifierLesArguments(frame)
    local passed_args = frame:getParent().args
    local modele_args = frame.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

return p