Modul:Person: Unterschied zwischen den Versionen

+ TabelleAeltesteOhneTodesdatum()
(zeileDatum() optimiert)
(+ TabelleAeltesteOhneTodesdatum())
Zeile 3: Zeile 3:
local com = require("Modul:Common")
local com = require("Modul:Common")
local str = require("Modul:String")
local str = require("Modul:String")
local htm = require("Modul:HTML")
local smw = require("Modul:SMW")
local smw = require("Modul:SMW")
local wik = require("Modul:Wiki")
local wik = require("Modul:Wiki")
Zeile 182: Zeile 183:
-- mw.logObject(t, "t")
-- mw.logObject(t, "t")
-- mw.logObject(fbdata.attr.list, "fbdata.attr.list")
-- mw.logObject(fbdata.attr.list, "fbdata.attr.list")
return t
end
function p.TabelleAeltesteOhneTodesdatum()
t = ""
local query = {"[[KlassenName::Person]]",
"?#-", "?Geburtsdatum#ISO", "?Todesdatum#ISO",
sort = "Geburtsdatum", order = "asc",
mainlabel = "-", limit = 10000 }
query = mw.smw.ask(query)
-- Personen extrahieren
personen = {}
for _, p in ipairs(query) do
if p["Geburtsdatum"] ~= nil and p["Todesdatum"] == nil then
table.insert(personen,
{["Person"] = p[1], ["Geburtsdatum"] = p["Geburtsdatum"]})
end
end
-- Tabelle aufbauen
t = t .. htm.tableHeader{"Person", "Geburtsdatum"}
for _, p in ipairs(personen) do
t = t .. htm.tableLine{"[[" .. p["Person"] .. "]]", p["Geburtsdatum"]}
end
t = t .. htm.tableFooter()
return t
return t
end
end


return p
return p