Modul: Wirkungsorte: Unterschied zwischen den Versionen
Aus MAV
MH (Diskussion | Beiträge) Die Seite wurde neu angelegt: „-- Referenzseite: https://github.com/SemanticMediaWiki/SemanticScribunto/blob/master/docs/mw.smw.ask.md -- Erstellt eine chronologische Liste aller Wirkungsort…“ |
MH (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
-- Wir erstellen die table, die wir zurückgeben wollen | -- Wir erstellen die table, die wir zurückgeben wollen | ||
local p = {} | local p = {} | ||
Version vom 15. März 2023, 15:15 Uhr
Referenzseite
Funktion
Erstellt eine chronologische Liste aller Wirkungsorte für Personenseiten für die Darstellung auf einer Karte. Dazu werden kombiniert:
- Attribut Geburtsort mit Geburtsdatum
- Attribut Sterbeort mit Sterbedatum
- die subobjects Ausbildung, Abschluss, Ereignis, Tätigkeit und Vorlesung
Wir generieren / fragen nach folgenden Attributen, die dargestellt werden sollen:
- Beschreibungstext
- Geographikum
- Koordinaten
TODO
- Übergeben werden müssen Geburtsort, Geburtsdatum, Sterbeort, Sterbedatum
Bitte nach folgendem Schema aufrufen
{{#invoke:Wirkungsorte|abfragen|{{SUBPAGENAME}}|{{{Geburtsort|}}}|{{{Geburtsdatum|}}}|{{{Sterbeort|}}}|{{{Sterbedatum|}}}}}
-- Wir erstellen die table, die wir zurückgeben wollen
local p = {}
-- Die Funktion fehler ist eine reine Testfunktion, die wir nachher nicht mehr
-- verwenden wollen
function p.fehler( frame )
return "Keine Wirkungsorte gefunden! "..frame.args[1]
end
-- Wir fragen nach dem Geburtsort
-- Beispielcall: '[[Modification date::+]]|?#-=page|?Modification date|?Last editor is=editor|?page author=authors|limit=2|mainlabel=-'
function p.ask(frame)
if not mw.smw then
return "mw.smw module not found"
end
if frame.args[1] == nil then
return "no parameter found"
end
local queryResult = mw.smw.ask( frame.args )
if queryResult == nil then
return "(no values)"
end
if type( queryResult ) == "table" then
local myResult = ""
for num, row in pairs( queryResult ) do
myResult = myResult .. '* This is result #' .. num .. '\n'
for property, data in pairs( row ) do
local dataOutput = data
if type( data ) == 'table' then
dataOutput = mw.text.listToText( data, ', ', ' and ')
end
myResult = myResult .. '** ' .. property .. ': ' .. dataOutput .. '\n'
end
end
return myResult
end
myResult = myResult .. '{{#ask:[[Kategorie:Ausbildung]]}}'
return myResult
end
-- Table wird ausgegeben
return p