Modul:Check2: Unterschied zwischen den Versionen

K
9 Versionen von wikivoyage:Modul:Check2 importiert
Keine Bearbeitungszusammenfassung
K (9 Versionen von wikivoyage:Modul:Check2 importiert)
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 38: Zeile 38:
function Check._testParams ( templateArgs, params, modul )
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
for key,value in pairs ( localArgs ) do
      localArgsNew[mw.ustring.lower(tostring(key))] = value
localArgsNew[mw.ustring.lower(tostring(key))] = value
  end
end
  for key,value in pairs ( templateArgs ) do
for key,value in pairs ( templateArgs ) do
      templateArgsNew[mw.ustring.lower(tostring(key))] = value
templateArgsNew[mw.ustring.lower(tostring(key))] = value
  end
end
  localArgs = localArgsNew
localArgs = localArgsNew
  templateArgs = templateArgsNew
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 104: Zeile 104:
function Check._isParamUsed ( templateArgs, paramName )
function Check._isParamUsed ( templateArgs, paramName )
    
    
  -- 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 = {}


  -- alles klein schreiben
-- alles klein schreiben
  for key,value in pairs ( localArgs ) do
for key,value in pairs ( localArgs ) do
      localArgsNew[mw.ustring.lower(tostring(key))] = value
localArgsNew[mw.ustring.lower(tostring(key))] = value
  end
end
  for key,value in pairs ( templateArgs ) do
for key,value in pairs ( templateArgs ) do
      templateArgsNew[mw.ustring.lower(tostring(key))] = value
templateArgsNew[mw.ustring.lower(tostring(key))] = value
  end
end
  localArgs = localArgsNew
localArgs = localArgsNew
  templateArgs = templateArgsNew
templateArgs = templateArgsNew
    
    
  -- Test ein Parameter benutzt wurde
-- Test ein Parameter benutzt wurde
  for k, v in pairs(templateArgs) do
for k, v in pairs(templateArgs) do
      if  ( k == paramName ) then return true end
if  ( k == paramName ) then return true end
  end
end
     
 
  for k, v in pairs(localArgs) do
for k, v in pairs(localArgs) do
      if  ( k == paramName ) then return true end
if  ( k == paramName ) then return true end
  end
end
    
    
   return false
   return false
end
end


function Check._testFile ( file, modul, allowTemplates )
function Check._testFile ( file, modul )
 
 
   local errorMsg = ''
   local errorMsg = ''
  if ( allowTemplates == nil ) then allowTemplates = false end
    
    
   --eckige Klammern vergessen
   --eckige Klammern vergessen
   if ( string.match ( file, '^%[%[%a' ) == nil ) then
   if ( string.match ( file, '^%[%[%a' ) == nil ) then
       if ( not ( allowTemplates and string.match ( file, '^%{%{%a' ) ~= nil ) ) then
       errorMsg = Check._error ( 'führende eckige Klammern bei der Dateieinbindung vergessen' , modul )
        errorMsg = Check._error ( 'führende eckige Klammern bei der Dateieinbindung vergessen' , modul )
      end
   end
   end
   if ( string.match ( file, '%]%]$' ) == nil ) then
   if ( string.match ( file, '%]%]$' ) == nil ) then
       if ( not ( allowTemplates and string.match ( file, '^%{%{%a' ) ~= nil ) ) then
       errorMsg = errorMsg .. Check._error ( 'abschließende eckige Klammern bei der Dateieinbindung vergessen' , modul )
        errorMsg = errorMsg .. Check._error ( 'abschließende eckige Klammern bei der Dateieinbindung vergessen' , modul )
      end
   end
   end