Modul:Wirkungsorte

Aus MAV
Version vom 15. März 2023, 15:10 Uhr von 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…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Referenzseite

Funktion

Erstellt eine chronologische Liste aller Wirkungsorte für Personenseiten für die Darstellung auf einer Karte. Dazu werden kombiniert:

  1. Attribut Geburtsort mit Geburtsdatum
  2. Attribut Sterbeort mit Sterbedatum
  3. 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|}}}}}

-- Referenzseite: https://github.com/SemanticMediaWiki/SemanticScribunto/blob/master/docs/mw.smw.ask.md
-- Erstellt eine chronologische Liste aller Wirkungsorte für Personenseiten
-- für die Darstellung auf einer Karte
-- Dazu werden kombiniert:
-- 1. Attribut Geburtsort mit Geburtsdatum
-- 2. Attribut Sterbeort mit Sterbedatum
-- 3. die subobjects Ausbildung, Abschluss, Ereignis, Tätigkeit und Vorlesung
-- Vorbild ist die Parserfunktion: Wir generieren / fragen nach folgenden Texten, die dargestellt werden sollen
-- Beschreibungstext
-- Geographikum
-- Koordinaten

-- Aufruf erfolgt durch {{#invoke:Wirkungsorte|SEITENNAME}}

-- 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