19.638
Bearbeitungen
(Shoah global aktiviert) |
(+ zeileBeruf()) Markierung: Zurückgesetzt |
||
| Zeile 2: | Zeile 2: | ||
local com = require("Modul:Common") | local com = require("Modul:Common") | ||
local str = require("Modul:String") | |||
local fab = require("Modul:Faktenbox") | local fab = require("Modul:Faktenbox") | ||
local smw = require("Modul:SMW") | local smw = require("Modul:SMW") | ||
| Zeile 83: | Zeile 84: | ||
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Todesursache", attr_val = fbdata.shoah["Todesursache"], val_show_only = true} | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Todesursache", attr_val = fbdata.shoah["Todesursache"], val_show_only = true} | ||
end | end | ||
t = t .. | t = t .. p.zeileBeruf(fbdata) | ||
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Partei", delimiter = ";"} | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Partei", delimiter = ";"} | ||
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Eigenart", delimiter = ";"} | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Eigenart", delimiter = ";"} | ||
| Zeile 143: | Zeile 144: | ||
-- mw.logObject(ask_result[1], "ask_result[1]") | -- mw.logObject(ask_result[1], "ask_result[1]") | ||
return ask_result[1] | return ask_result[1] | ||
end | |||
function p.zeileBeruf(fbdata) | |||
-- mw.log("zeileBeruf(fbdata)") | |||
-- mw.logObject(fbdata.pargs, "fbdata.pargs") | |||
-- Konsolenzeile zum Debuggen: | |||
-- =p.zeileBeruf{attr={list={}},pargs={Beruf="Tester",Geschlecht="weiblich"}} | |||
local t = "" | |||
local beruf = fbdata.pargs["Beruf"] or "" | |||
if beruf ~= "" then | |||
-- Berufe-Liste durchiterieren | |||
for _, beruf in ipairs(str.splitAndStrip(beruf, ";")) do | |||
local beruf_page = beruf -- default | |||
local geschlecht = fbdata.pargs["Geschlecht"] or "" | |||
-- Beruf-Seite ermitteln | |||
local selector = "[[:+]][[KlassenName::Beruf]]" | |||
selector = | |||
selector .. "[[Wörterbuch::Einzahl weiblich=" .. beruf .."]] OR " .. | |||
selector .. "[[Wörterbuch::Einzahl männlich=" .. beruf .."]] OR " .. | |||
selector .. "[[Wörterbuch::Einzahl divers=" .. beruf .."]]" | |||
local query = {selector, "?#-", "?Wörterbuch", ["limit"] = 1} | |||
-- Wörterbuch befragen | |||
local beruf_woerterbuch = mw.smw.ask(query) | |||
if beruf_woerterbuch ~= nil then | |||
beruf_page = beruf_woerterbuch[1][1] | |||
beruf_woerterbuch = beruf_woerterbuch[1]["Wörterbuch"] | |||
local tmp = {} | |||
for i, v in pairs(beruf_woerterbuch) do | |||
tmp[i] = str.splitAndStrip(beruf_woerterbuch[i], "=") | |||
tmp[tmp[i][1]] = tmp[i][2] | |||
end | |||
beruf_woerterbuch = tmp | |||
-- weibliche/männliche Form ermitteln | |||
if geschlecht == "weiblich" then | |||
beruf = beruf_woerterbuch["Einzahl weiblich"] or beruf | |||
elseif geschlecht == "männlich" then | |||
beruf = beruf_woerterbuch["Einzahl männlich"] or beruf | |||
elseif geschlecht == "divers" then | |||
beruf = beruf_woerterbuch["Einzahl divers"] or beruf | |||
end | |||
end | |||
-- Beruf zu Liste und Attributen hinzufügen | |||
if t ~= "" then | |||
t = t .. ", " | |||
end | |||
t = t .. "[[" .. beruf_page .. "|" .. beruf .. "]]" | |||
smw.addAttrToList(fbdata.attr.list, "Beruf", beruf_page) | |||
end | |||
t = "<dt>Beruf</dt><dd>" .. t .. "</dd>" | |||
end | |||
-- mw.logObject(t, "t") | |||
-- mw.logObject(fbdata.attr.list, "fbdata.attr.list") | |||
return t | |||
end | end | ||
return p | return p | ||