Modul:Wirkungsorte

Aus MAV
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|}}}}}

-- Wir erstellen die table, die wir zurückgeben wollen
local p = {}

-- Wir fragen nach Geburtsort+Geburtsdatum, dann nach den Wirkunsorten, anschließend nach Sterbeort und Sterbedatum
function p.abfragen ( frame )
	
	local returntext = 'alle'
	
	-- Abfrage Geburt
	local abfrage = mw.smw.ask( '[[-Geburtsort::' .. frame.args[1] .. ']]|link=none' )
	
    if abfrage == nil then
        returntext = 'Mist' .. frame.args[1]
    elseif type( queryResult ) == "table" then
        for num, row in pairs( queryResult ) do
            returntext = returntext .. '* 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
                returntext = returntext .. '** ' .. property .. ': ' .. dataOutput .. '\n'
            end
        end
    end 
    
    return returntext
end

-- Table wird ausgegeben
return p