Modul:Person: Unterschied zwischen den Versionen

161 Bytes hinzugefügt ,  Samstag um 09:48
fab.addWartungsmeldung()
(zeileBeruf() optimiert)
(fab.addWartungsmeldung())
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
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 smw = require("Modul:SMW")
local wik = require("Modul:Wiki")
local fab = require("Modul:Faktenbox")
local fab = require("Modul:Faktenbox")
local smw = require("Modul:SMW")
local ber = require("Modul:Beruf")
local ber = require("Modul:Beruf")


Zeile 157: Zeile 158:
-- Berufe-Liste durchiterieren
-- Berufe-Liste durchiterieren
for _, beruf in ipairs(str.splitAndStrip(beruf, ";")) do
for _, beruf in ipairs(str.splitAndStrip(beruf, ";")) do
local beruf_pagename = ber.getBerufPagename(beruf) or beruf
local beruf_fullpagename = ber.getBerufFullpagename(beruf)
local geschlecht = fbdata.pargs["Geschlecht"] or ""
if beruf_fullpagename ~= nil then
-- Berufname ermitteln
local geschlecht = fbdata.pargs["Geschlecht"] or "männlich" -- männlich = generisch Maskulin
local selector = "[[:+]]" ..
beruf =
"[[-has subobject::" .. beruf_pagename .. "]]" ..
ber.getBeruf(beruf_fullpagename, "Einzahl", geschlecht) or
"[[Bemerkung::Einzahl]]" ..
beruf
"[[Geschlecht::" .. geschlecht .. "]]"
else
local query = {selector, "?BerufTemp", ["limit"] = 1}
beruf_fullpagename = beruf
-- Wörterbuch befragen
local ask = mw.smw.ask(query)
mw.logObject(ask, "ask")
if ask ~= nil then
beruf = ask[1]["BerufTemp"]
end
end
-- Beruf zu Werte-Liste hinzufügen
-- Beruf zu Werte-Liste hinzufügen
Zeile 175: Zeile 171:
t = t .. ", "
t = t .. ", "
end
end
t = t .. "[[" .. beruf_pagename .. "|" .. beruf .. "]]"
t = t .. "[[:" .. beruf_fullpagename .. "|" .. beruf .. "]]"
if string.sub(beruf_fullpagename, 1, 10) == "Kategorie:" then -- ggf. Kategorie setzen
t = t .. "[[" .. beruf_fullpagename .. "]]"
end
if not wik.pageExists(beruf_fullpagename) then -- Prüfung fehlende Beruf-Seite
fab.addWartungsmeldung(fbdata, "Beruf-Seite fehlt")
end
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_pagename)
smw.addAttrToList(fbdata.attr.list, "BerufSeite", beruf_fullpagename)
end
end
t = "<dt>Beruf</dt><dd>" .. t .. "</dd>"
t = "<dt>Beruf</dt><dd>" .. t .. "</dd>"