Module:Wy/syl/Check/doc
This is the documentation page for Module:Wy/syl/Check
ꠁꠈꠣꠘ ꠟꠦꠈꠤꠀꠔꠀꠞ ꠟꠉꠞꠙꠣꠔꠣ Module:Wy/syl/Check ꠟꠣꠉꠤ ⁕ ꠁꠈꠣꠘꠅ ꠛꠦꠛꠀꠞꠞ ꠘꠤꠅꠝꠇꠣꠘꠥꠘ ꠖꠦꠅꠀ ꠀꠍꠦ ꠨ ꠀꠞ ꠀꠞꠎꠣꠔ ꠎꠤꠘꠤꠡ ꠎꠦꠔꠣ ꠀꠡꠟꠔꠣꠞ ꠅꠋꠡ ꠘꠣꠄ module ꠙꠣꠔꠣ ⁕ |
This module is rated as ready for general use. It has reached a mature form and is thought to be bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by sandbox testing rather than repeated trial-and-error editing. |
The Check
module provides functions for parameter checking and error output. In contrast to the partner module Check, this module ignores upper and lower case letters. This module should only be used in the future.
Use
editIn order to be able to use the functions within a Lua module, it must be integrated at the beginning. This can be achieved with the following command:
local check = require('Module:Wy/syl/Check2')
Funktionen
edit_error
editfunction Check._error ( error_str, modul )
Die Funktion dient der Ausgabe eines Fehlers. Sie wird von den Prüfroutinen benutzt, kann aber auch direkt aufgerufen werden, um eine Fehlerausschrift zu generieren. Allen Fehlermeldungen wird folgender Text vorangestellt: Fehler im Modul Modulname:
- Template:Para – beinhaltet den auszugebenden Fehlertext.
- Template:Para – gibt den Namen des aufrufenden Moduls an. Damit wird im Artikeltext direkt auf das betroffene Modul verlinkt.
Die Funktion gibt als Zeichenkette die kompletten Fehlerausschirft inklusive Fehlerkategorien zurück. Sie berücksichtigt dabei die folgenden allgemein gültigen Parameter.
- Template:Para auf 1 oder true gesetzt, werden die Ausgabe der Fehlermeldungen der Funktionen unterdrückt. Standardmäßig werden die Fehler angezeigt.
- Template:Para auf 1 oder true gesetzt, werden die Artikel bei Fehlermeldungen des Moduls einer Fehlerkategorie zugeordnet. Standardmäßig werden Fehlermeldungen in die Kategorie Fehlerberichte des Moduls xxx eingefügt. Wurden unbekannte Parameter verwendet, landen die Artikel zusätzlich in der Kategorie Template:C.
- Template:Para gibt den Namen einer Fehlerkategorie an, in der der Artikel bei auftretenden Fehlern einsortiert wird. Standardmäßig ist das Fehlerberichte des Moduls xxx.
Der Paramter, der bei der Einbindung der Vorlage benutzt wird, hat dabei Vorrang. So kann man bestimmte Funktionalitäten für den generellen Gebrauch der Vorlage aktivieren (über Template:Code) und im Einzelfall im Artikel abschalten (bei der Verwendung der Vorlage).
_testParams
editfunction Check._testParams ( templateArgs, params, modul )
Die Funktion überprüft, ob alle bei Modulaufruf übergebenen Parameter gültig sind. Akzeptiert werden folgende Parameter
- Die in der Variable Template:Code übergebene Parameterliste. Sie steht in einem Submodul, sinnvoller mit dem Namen Template:Code
- Nicht per Name spezifizierte Parameter. Beispiel: Template:Tlc
- Die drei allgemein gültigen Parameter:
Folgende Parameter verlangt die Funktion
- Template:Para – Enthält die bei Vorlagenaufruf übergebenen Parameter (Nicht die innerhalb der Vorlage an das Modul übergebenen).
- Template:Para – Die Liste der zulässigen Parameter.
- Template:Para – Der Name des Lua Moduls. Er dient der Verlinkung in der Fehlerausschrift.
Die zulässigen Parameter werden im Regelfall in ein Submodul ausgelagert. In der Parameterliste wird jedem Parameter noch ein Wert zugewiesen. Dieser wird von der Funktion nicht ausgewertet. Er kann aber verwendet werden, um nicht vorhandene Parameter mit Standardwerten zu belegen. Beispiel:
params = {
funktionsname1 = {
parameter1 = 'standardwert1',
parameter2 = 'standardwert2'
},
funktionsname2 = {
parameter1 = 'standardwert1',
parameter2 = 'standardwert2',
parameter3 = 'standardwert3'
}
}
return params
Zur Verwendung der Funktion wird sie einfach der finalen Inhaltsübergabe am Ende einer Modulfunktion vorangestellt. Sie prüft dann die Parameter und erzeugt bei Bedarf eine entsprechende Fehlermeldung, dass unbekannte Parameter verwendet wurden.
function Beispielfunktion ( frame )
-- Hier holt man sich aus dem Submodul die Liste mit den zulässigen Parametern
params = mw.loadData('Modul:Modulname/Params')
funcParams = params['Funktionsname']
args = frame:getParent().args
-- ... jetzt macht die Funktion ihre Arbeit...
-- Der Aufruf der Prüffunktion wird nun der Ausgabe vorangestellt.
return check._testParams ( args, funcParams, 'Modulname' ) .. Ausgabe
-- Hat man in seinem Modul weiter Fehlerausgaben gesammelt setzt man alle drei Ausgaben zusammen:
return errorStr .. check._testParams ( args, funcParams, 'Modulname' ) .. Ausgabe
end
_testFile
editfunction Check._testFile ( file, modul )
Die Funktion überprüft, ob die Angabe einer Datei die richtige Syntax im Wiki-Markup ausweist. Ist dies nicht der Fall, werden entsprechende Fehlermeldungen ausgegeben. So könen bei der Generierung des Artikeltextes leere Tags und Codeschnipsel vermieden werden. Wenn du diese Prüfroutine nutzt, mache sie in deinem Modul abschaltber. Werden Dateien über Subvorlagen eingebunden, stehen unter Umständen nicht immer die eckigen Klammern am Anfang und Ende. Dann könnten so Fehlermeldungen fälschlicherweise entstehen. Folgende Prüfungen werden durchgeführt:
- Am Anfang müssen zwei eckige Klammer stehen: Template:Code
- Am Ende müssen zwei eckige Klammer stehen: Template:Code
Folgende Parameter werden benötigt:
- Template:Para – Übergebene Datei.
- Template:Para – Der Name des Lua Moduls. Er dient der Verlinkung in der Fehlerausschrift.
Die Funktion gibt eine Zeichenkette mit der Fehlerausschrift zurück. Ist diese leer, ist die Dateiangabe in Ordnung. So kann die Funktion verwendet werden. Im Beispiel wird gleichzeitig die optionale Deaktivierung berücksichtigt:
function Beispielfunktion ( frame )
-- ... Programmcode ...
-- Einer Variable wird das Ergebnis der Prüfung übergeben
local fileCheck = check._testFile ( image, 'Quickbar' )
-- Zeichenkette leer oder Prüfung abgeschaltet?
if ( fileCheck == '' ) or ( noFileCheck == 'yes' ) then
-- Bild wird zur Ausgabe gebracht
display = display .. 'Bildausgabe'
else
-- Erzeugung eines Fehlers
errorStr = errorStr .. fileCheck
end
-- ... weiter im Programm ...
end