Wikipedia:Lua/Modul/ISO3166/de
Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
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
[Quelltext bearbeiten]- f
- Standardfunktion: Abfrage des konvertierten Codes
1
– zu konvertierender Code (Pflichtparameter)2
– gewünschtes Format für ErgebnisA2
oderA3
oderNUM
oderA4
- Vorgabe:
A3
3
– nicht in aktuelles Territorium weiterleiten1
– historisches Gebiet- Vorgabe:
0
– aktueller Staat
- failsafe
- Versionsbezeichnung (lokal):
2019-10-14
- Optionaler Zusatzparameter:
1
– Mindestversionsbezeichnung oderwikidata
oder~
{{#invoke:ISO3166|failsafe}}
ergibt2019-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 ().
- Ist der Zusatzparameter das Zeichen
- Rückgabewert:
- Leer, falls Mindestversionsbezeichnung nicht erfüllt, oder Übereinstimmung mit Wikidata
- Versionsbezeichnung (auf Wikidata registriert:
2019-10-14
) beiwikidata
, oder lokal falls dort keine gefunden, bzw. leer wenn synchronisiert
Beispiele (Testseite)
[Quelltext bearbeiten]Eine Testseite illustriert praktische Beispiele.
Funktionen für Lua-Module
[Quelltext bearbeiten]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 )
-
- access – zu konvertierender Code, string
- alter – gewünschtes Format für Ergebnis, string, optional,
A3
- 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
- alert –
true
für Abbruch miterror()
- Vorgabe:
false
– leere table einfügen
- Vorgabe:
- alert –
- ISO3166.failsafe( atleast )
-
- atleast
optional
nil oder Mindestversion oder Wert für"wikidata"
oder~
für Synchronisation
- atleast
Interne Untermodule
[Quelltext bearbeiten]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 Territoriumsreverse
– enthält die Zuordnung aller Codes auf zugehörigen A2-Codefailsafe
– Versionsbezeichnung
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:
factory
– Test/maintainfailsafe
Globale Daten
[Quelltext bearbeiten]- 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
[Quelltext bearbeiten]Nach Änderung der Codes in commons:Data:ISO3166/codes.tab Aktualisierung durch Test/maintain.
Installation auf anderen Projekten
[Quelltext bearbeiten]Siehe englischsprachige Dokumentation.
Verwendung
[Quelltext bearbeiten]Allgemeine Bibliothek; nicht eingegrenzt.
Abhängigkeiten
[Quelltext bearbeiten]Keine, abgesehen von eigenen Untermodulen.