Modul:Check2: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
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 )
function Check._testFile ( file, modul, allowTemplates )
 
 
   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
       errorMsg = Check._error ( 'führende eckige Klammern bei der Dateieinbindung vergessen' , modul )
       if ( not ( allowTemplates and string.match ( file, '^%{%{%a' ) ~= nil ) ) then
        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
       errorMsg = errorMsg .. Check._error ( 'abschließende eckige Klammern bei der Dateieinbindung vergessen' , modul )
       if ( not ( allowTemplates and string.match ( file, '^%{%{%a' ) ~= nil ) ) then
        errorMsg = errorMsg .. Check._error ( 'abschließende eckige Klammern bei der Dateieinbindung vergessen' , modul )
      end
   end
   end
    
    
Anonymer Benutzer