Modul:Check2: Unterschied zwischen den Versionen

K
9 Versionen von wikivoyage:Modul:Check2 importiert
KKeine Bearbeitungszusammenfassung
K (9 Versionen von wikivoyage:Modul:Check2 importiert)
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 36: Zeile 36:
end
end


function Check._testParams ( templateArgs, params, modul, case )
function Check._testParams ( templateArgs, params, modul )
    
    
  -- Argumente des invoke-Aufrufs holen
-- Argumente des invoke-Aufrufs holen
  local frame = mw.getCurrentFrame()
local frame = mw.getCurrentFrame()
  local localArgs = frame.args
local localArgs = frame.args


    local localArgsNew = {}
local localArgsNew = {}
    local templateArgsNew = {}
local templateArgsNew = {}
  for key,value in pairs ( localArgs ) do
    localArgsNew[mw.ustring.lower(key)] = value
for key,value in pairs ( localArgs ) do
  end
localArgsNew[mw.ustring.lower(tostring(key))] = value
  for key,value in pairs ( templateArgs ) do
end
    templateArgsNew[mw.ustring.lower(key)] = value
for key,value in pairs ( templateArgs ) do
  end
templateArgsNew[mw.ustring.lower(tostring(key))] = value
  localArgs = localArgsNew
end
  templateArgs = templateArgsNew
localArgs = localArgsNew
templateArgs = templateArgsNew


  -- Variablen für Parameterauswertung
-- Variablen für Parameterauswertung
  local errorMsg = 'Unbekannte(r) Parameter: '
local errorMsg = 'Unbekannte(r) Parameter: '
  local errorCat = '[[Kategorie:Vorlagen mit unbekannten Parametern]]'
local errorCat = '[[Kategorie:Vorlagen mit unbekannten Parametern]]'
  local errorOccured = false
local errorOccured = false
 
  -- generell erlaubte Parameter
-- generell erlaubte Parameter
  local paramsWhitelist = { ignore_errors = 'ignore_errors', no_category = 'no_category', error_category = 'error_category' }
local paramsWhitelist = { ignore_errors = 'ignore_errors', no_category = 'no_category', error_category = 'error_category' }
    
    
   -- Test ob unbekannte Parameter übergeben wurden (Tippfehler)
   -- Test ob unbekannte Parameter übergeben wurden (Tippfehler)
Zeile 65: Zeile 66:
   -- allgemeine Parameter werden auch akzeptiert
   -- allgemeine Parameter werden auch akzeptiert
   for k, v in pairs(templateArgs) do
   for k, v in pairs(templateArgs) do
       if  ( not ( ( params[kCheck] ~= nil ) or ( paramsWhitelist[k] ~= nil ) ) ) and ( string.match ( k, '^%d*$' ) == nil )
       if  ( not ( ( params[k] ~= nil ) or ( paramsWhitelist[k] ~= nil ) ) ) and ( string.match ( k, '^%d*$' ) == nil )
       then  
       then  
         errorMsg = errorMsg .. '<span style="font-weight: bold; font-style:italic">' .. k .. '</span> (über Vorlage), '
         errorMsg = errorMsg .. '<span style="font-weight: bold; font-style:italic">' .. k .. '</span> (über Vorlage), '
Zeile 73: Zeile 74:
    
    
   for k, v in pairs(localArgs) do
   for k, v in pairs(localArgs) do
       if  ( not ( ( params[kCheck] ~= nil ) or ( paramsWhitelist[k] ~= nil ) ) ) and ( string.match ( k, '^%d*$' ) == nil )
       if  ( not ( ( params[k] ~= nil ) or ( paramsWhitelist[k] ~= nil ) ) ) and ( string.match ( k, '^%d*$' ) == nil )
       then  
       then  
         errorMsg = errorMsg .. '<span style="font-weight: bold; font-style:italic">' .. k .. '</span> (über invoke), '
         errorMsg = errorMsg .. '<span style="font-weight: bold; font-style:italic">' .. k .. '</span> (über invoke), '
Zeile 99: Zeile 100:
    
    
   return errorMsg
   return errorMsg
end
function Check._isParamUsed ( templateArgs, paramName )
 
-- Argumente des invoke-Aufrufs holen
local frame = mw.getCurrentFrame()
local localArgs = frame.args
local localArgsNew = {}
local templateArgsNew = {}
-- alles klein schreiben
for key,value in pairs ( localArgs ) do
localArgsNew[mw.ustring.lower(tostring(key))] = value
end
for key,value in pairs ( templateArgs ) do
templateArgsNew[mw.ustring.lower(tostring(key))] = value
end
localArgs = localArgsNew
templateArgs = templateArgsNew
 
-- Test ein Parameter benutzt wurde
for k, v in pairs(templateArgs) do
if  ( k == paramName ) then return true end
end
 
for k, v in pairs(localArgs) do
if  ( k == paramName ) then return true end
end
 
  return false
end
end