|
|
| 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 84: |
Zeile 83: |
| 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 .. p.zeileBeruf(fbdata) | | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Beruf", delimiter = ";"} |
| 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 144: |
Zeile 143: |
| -- 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 |