Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

CoordParse – Modul mit Funktionen zur Interpretation und Analyse von Geokoordinaten.

Funktionen für Vorlagen

Bearbeiten
feed
Einzelne Zeichenkette verarbeiten; ergibt Dezimalzahl
focus
Position aus einer oder zwei Koordinaten verarbeiten; ergibt eine Dezimalzahl
Beispielsammlung
fragments
Vier Komponenten verarbeiten; ergibt Dezimalzahl
failsafe
Versionsmanagement

Die Failsafe-Schnittstelle erlaubt den damit ausgerüsteten Modulen in globaler Verteilung

  • sicherzustellen, dass eine von einer Vorlage oder einem Modul benötigte Funktion in der lokalen Kopie eines Bibliotheksmoduls vorhanden ist, und ggf. auch in einer erforderlichen Mindestversion;
  • die globale Aktualisierung und Verknüpfung von Modulen über Wikidata zu verwalten.

Die Failsafe-Schnittstelle liegt sowohl auf Ebene der Vorlagen wie auch in direktem Lua-Zugriff vor.

Die Funktionen sind im Einzelnen (nicht alle werden bereits überall in vollem Umfang unterstützt):

Parameter
Wert Ergebnis aktuell
nichts
false
lokale Version »2022-09-15«
Mindest­version Mindestversionsbezeichnung
Datum im ISO-Format

Es wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.

  • leer, falls Mindestversion nicht erfüllt
  • 2001-01-01 → »2022-09-15«
  • 2099-01-01 → »«
wikidata Versionsbezeichnung der globalen Mutter (d:Q113956219)
  • Versionsbezeichnung auf Wikidata
  • lokal, falls dort keine gefunden
»2022-09-15«
item ID des Wikidata-Items
  • leer, falls nicht definiert
»Q113956219«
~ Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung
  • leer, falls aktuell
  • Versionsbezeichnung auf Wikidata, falls ungleich
»«
@ Ist die aktuelle (Modul-)Seite richtig mit Wikidata verknüpft?
  • leer, falls mit dem richtigen Item verknüpft
  • Item-ID, falls nicht
Der Rückgabewert ist in der Vorlagenprogrammierung leer und per Lua false; andernfalls die angegebene Zeichenkette.

Himmelsrichtungen

Bearbeiten

Standardmäßig werden als Kennbuchstaben für Himmelsrichtungen erwartet: N, E, SW

Mit einem Parameter gleichen Namens, dem ein Lua-Pattern für Großbuchstaben zugewiesen wird, kann dies lokalisiert werden.

deutsch
E=[EO]
französisch
W=[WO]

Fehlermanagement

Bearbeiten

Jede Fehlermeldung trägt class="error".

Die Texte können lokal über nachstehende Parameter konfiguriert werden, andernfalls erfolgt eine Behelfsmarkierung. Als Vorlagenparametername ist jeweils err voranzustellen, um lokal und gemäß Kontext zu konfigurieren.

ID Gegenstand
Bad Ungültig
Empty Leer
GT4 Mehr als 4 Komponenten
DegGT Gradzahl zu groß
DegLT Gradzahl zu klein
DegX Gradzahl fehlt
Mgt60 Minutenzahl ≥ 60
Mlt0 Minutenzahl < 0
MinX Minutenzahl fehlt
Sgt60 Sekundenzahl ≥ 60
Slt0 Sekundenzahl < 0
Num Zahl nicht erkannt
SepEl Dezimalbruch nicht an letzter Stelle
Minus Minuszeichen unzulässig
Word Unbekannte Himmelsrichtung
Multi Zu viele Komponenten in Position
Class Leerzeichen-getrennte Liste zusätzlicher Klassennamen zu class="error".
Style Zusätzliches CSS für Fehlermeldungen.

Eine Wartungskategorie kann definiert werden, beispielsweise Kategorie:Wikipedia:Vorlagenfehler/Parameter:Koordinate.

  • Parametername: Cat
  • Anzugeben ist der Titel der Kategorie.
  • Es kann ein Pipesymbol , ein Sortierschlüssel und ]] nachgestellt werden, wie an dieser Stelle der Wikisyntax üblich.


Funktionen für Lua-Module

Bearbeiten

Viele der oben dokumentierten Funktionen können auch über require() in andere Module eingebunden werden:

local lucky, CoordParse = pcall( require, "Module:CoordParse" )
if type( CoordParse ) == "table" then
    CoordParse = CoordParse()
else
    -- Fehlerfall; CoordParse enthält Fehlermeldung
    return "<span class='error'>" .. CoordParse .. "</span>"
end

Danach steht zur Verfügung:

CoordParse.feed( align, adjust, arglist )
  • aligntrue = Breitenkoordinate, sonst Länge
  • adjuststring, zur Interpretation und Analyse
  • arglisttable, mit Konfigurationswerten
Ergebnis: number, oder mw.html Fehlermeldung
CoordParse.focus( align, all, arglist )
  • aligntrue = Breitenkoordinate, sonst Länge
  • allstring, zur Interpretation und Analyse
  • arglisttable, mit Konfigurationswerten
Ergebnis: number, oder mw.html Fehlermeldung
CoordParse.fragments( align, array, arglist )
  • aligntrue = Breitenkoordinate, sonst Länge
  • array – sequence table, mit string oder number, Länge bis 4, [1]=Grad, [2]=Minuten, [3]=Sekunden, [4]=Himmelsrichtung
  • arglisttable, mit Konfigurationswerten
Ergebnis: number, oder mw.html Fehlermeldung
Expr.failsafe( atleast )
(wie oben)

Abhängigkeiten

Bearbeiten

Verwendung

Bearbeiten