Modul:Person/Work: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 5: Zeile 5:
local fab = require("Modul:Faktenbox")
local fab = require("Modul:Faktenbox")
local smw = require("Modul:SMW")
local smw = require("Modul:SMW")
local ber = require("Modul:Beruf")
local ber = require("Modul:Beruf/Work")


function p.Faktenbox(frame)
function p.Faktenbox(frame)
Zeile 157: Zeile 157:
-- Berufe-Liste durchiterieren
-- Berufe-Liste durchiterieren
for _, beruf in ipairs(str.splitAndStrip(beruf, ";")) do
for _, beruf in ipairs(str.splitAndStrip(beruf, ";")) do
local beruf_kategorie = ber.getBerufPagename(beruf) or ("Kategorie:" .. beruf)
local beruf_fullpagename = ber.getBerufFullpagename(beruf)
local geschlecht = fbdata.pargs["Geschlecht"] or ""
if beruf_fullpagename ~= nil then
-- Berufname ermitteln
-- Berufname ermitteln
local selector = "[[Kategorie:+]]" ..
local geschlecht = fbdata.pargs["Geschlecht"] or "männlich" -- männlich = generisch Maskulin
"[[-has subobject::" .. beruf_kategorie .. "]]" ..
local selector = "[[Bemerkung::Einzahl]]" ..
"[[Bemerkung::Einzahl]]" ..
"[[-has subobject::" .. beruf_fullpagename .. "]]" ..
"[[Geschlecht::" .. geschlecht .. "]]"
"[[Geschlecht::" .. geschlecht .. "]]"
local query = {selector, "?BerufTemp", ["limit"] = 1}
local query = {selector, "?BerufTemp", ["limit"] = 1}
-- Wörterbuch befragen
-- Wörterbuch befragen
local ask = mw.smw.ask(query)
local ask = mw.smw.ask(query)
mw.logObject(ask, "ask")
if ask ~= nil then
if ask ~= nil then
beruf = ask[1]["BerufTemp"]
beruf = ask[1]["BerufTemp"]
end
end
end
-- Beruf zu Werte-Liste hinzufügen
-- Beruf zu Werte-Liste hinzufügen
Zeile 175: Zeile 175:
t = t .. ", "
t = t .. ", "
end
end
if com.isTrue(fbdata.pargs["Work"]) then
if beruf_fullpagename ~= nil then
t = t .. "[[:" .. beruf_kategorie .. "|" .. beruf .. "]]" ..
t = t .. "[[:" .. beruf_fullpagename .. "|" .. beruf .. "]]"
"[[" .. beruf_kategorie .. "]]"
if string.sub(beruf_fullpagename, 1, 10) == "Kategorie:" then
t = t .. "[[" .. beruf_fullpagename .. "]]"
end
else
else
t = t .. "[[" .. beruf .. "]]"
t = t .. "[[" .. beruf .. "]]"
Zeile 183: Zeile 185:
smw.addAttrToList(fbdata.attr.list, "Beruf", beruf)
smw.addAttrToList(fbdata.attr.list, "Beruf", beruf)
smw.addAttrToList(fbdata.attr.list, "BerufTemp", beruf)
smw.addAttrToList(fbdata.attr.list, "BerufTemp", beruf)
smw.addAttrToList(fbdata.attr.list, "BerufSeite", beruf_kategorie)
smw.addAttrToList(fbdata.attr.list, "BerufSeite", beruf_fullpagename)
end
end
t = "<dt>Beruf</dt><dd>" .. t .. "</dd>"
t = "<dt>Beruf</dt><dd>" .. t .. "</dd>"