Wikipedia:Lua/Modul/ISO3166/de

Aus Wikipedia
Vorlagenprogrammierung Diskussionen Lua Test Unterseiten
Modul Deutsch English

Modul: Dokumentation
Weiterleitung der Diskussionsseite fehlt

ISO3166 – Modul mit Funktionen zur Konvertierung von Codes gemäß ISO 3166 für Territorien.

Historische Staaten können nur selten erfasst werden, da es die Codes erst seit den 1970er Jahren gibt und diese teilweise später erneut vergeben wurden. Aufteilungen von Staaten verweisen nicht auf aktuelle Teilstaaten, jedoch Vereinigungen. Es sind nur ISO-bekannte oder reservierte Codes erfasst, nicht aber fremder Organisationen wie IOC, da diese oft kollidieren.

Funktionen für Vorlagen[Am Gwëntext werkeln]

f
Standardfunktion: Abfrage des konvertierten Codes
  • 1 – zu konvertierender Code (Pflichtparameter)
  • 2 – gewünschtes Format für Ergebnis
    • A2 oder A3 oder NUM oder A4
    • Vorgabe: A3
  • 3 – nicht in aktuelles Territorium weiterleiten
    • 1 – historisches Gebiet
    • Vorgabe: 0 – aktueller Staat
failsafe
Versionsbezeichnung (lokal): 2019-10-14
Optionaler Zusatzparameter:
  • 1 – Mindestversionsbezeichnung oder wikidata oder ~
{{#invoke:ISO3166|failsafe}} ergibt 2019-10-14
Mit Angabe eines Parameters als Datum im ISO-Format wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.
  • {{#invoke:ISO3166|failsafe|2001-01-01}} ergibt: »2019-10-14«
  • {{#invoke:ISO3166|failsafe|2099-01-01}} ergibt: »« – leer, falls Mindestversionsbezeichnung nicht erfüllt
Ist dieser Zusatzparameter das Schlüsselwort wikidata, so ist der Wert die auf Wikidata registrierte Versionsbezeichnung (2019-10-14) oder lokal, falls dort keine gefunden.
  • Ist der Zusatzparameter das Zeichen ~, so ist das Ergebnis leer, falls Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung besteht ().
Rückgabewert:
  • Leer, falls Mindestversionsbezeichnung nicht erfüllt, oder Übereinstimmung mit Wikidata
  • Versionsbezeichnung (auf Wikidata registriert:2019-10-14) bei wikidata, oder lokal falls dort keine gefunden, bzw. leer wenn synchronisiert

Beispiele (Testseite)[Am Gwëntext werkeln]

Eine Testseite illustriert praktische Beispiele.

Funktionen für Lua-Module[Am Gwëntext werkeln]

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

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

Danach stehen zur Verfügung:

ISO3166.f( access, alter, ancient )
  1. access – zu konvertierender Code, string
  2. alter – gewünschtes Format für Ergebnis, string, optional, A3
  3. ancient – nicht in aktuelles Territorium weiterleiten, boolean, optional, false
Rückgabewert: Code als string oder false
ISO3166.fetch( alert )
(intern) Abruf der mw.loadData(), Objekt erweitern
  1. alert – true für Abbruch mit error()
    • Vorgabe: false – leere table einfügen
ISO3166.failsafe( atleast )
  1. atleast
    optional
    nil oder Mindestversion oder Wert für "wikidata" oder ~ für Synchronisation

Interne Untermodule[Am Gwëntext werkeln]

/loadData[Am Gwëntext werkeln]

Die globalen Daten werden pro dargestellter Seite einmalig bei Bedarf in eine table konvertiert, die über mw.loadData() der dargestellten Seite zugeordnet wird. Die Komponenten sind:

  • codes – enthält die Zuordnung von A2-Code auf Leerzeichen-getrennte Liste zugehöriger Codes des analogen Territoriums
  • reverse – enthält die Zuordnung aller Codes auf zugehörigen A2-Code
  • failsafe – Versionsbezeichnung

/maintain[Am Gwëntext werkeln]

Intern – zur Generierung von commons:Data:ISO3166/reverse.tab genutzer Code.

ISO3166.factory()
Rückgabewert: JSON code, string
ISO3166.failsafe( atleast )

#invoke-Funktionen für Vorlagenprogrammierung:

Globale Daten[Am Gwëntext werkeln]

commons:Data:ISO3166/codes.tab
Abbildung von A2-Code auf Leerzeichen-getrennte Liste zugehöriger Codes des analogen Territoriums; wichtigster Code im Format (A2/A3/NUM) jeweis zuerst.
Verfügbar als mw.loadData()-/loadData.codes
commons:Data:ISO3166/reverse.tab
Abbildung aller Codes auf zugehörigen A2-Code
Verfügbar als mw.loadData()-/loadData.reverse
Generiert durch /maintain

Die Daten stehen zentral und aktuell allen Wikis zur Verfügung.

Wartung[Am Gwëntext werkeln]

Nach Änderung der Codes in commons:Data:ISO3166/codes.tab Aktualisierung durch Test/maintain.

Installation auf anderen Projekten[Am Gwëntext werkeln]

Siehe englischsprachige Dokumentation.

Allgemeine Bibliothek; nicht eingegrenzt.

Abhängigkeiten[Am Gwëntext werkeln]

Keine, abgesehen von eigenen Untermodulen.