Modul:Ereignis/Opfer der Shoah: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Markierung: Manuelle Zurücksetzung
(SubobjektHatArtikel)
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
local wik = require("Modul:Wiki")
local wik = require("Modul:Wiki")
local smw = require("Modul:SMW")
local smw = require("Modul:SMW")
local lfd = require("Modul:LinkFormDatum")


function p.OpferDerShoah(frame)
function p.OpferDerShoah(frame)
Zeile 19: Zeile 20:


attr["SubObjektTyp"] = "Opfer der Shoah"
attr["SubObjektTyp"] = "Opfer der Shoah"
attr["Seite"] = wik.pagename()
attr["AbweichendeNamensform"] = attr["Geburtsname"]
attr["AbweichendeNamensform"] = attr["Geburtsname"]
attr["Geburtsname"] = nil
attr["Geburtsname"] = nil
Zeile 39: Zeile 39:
local nachname = attr["Nachname"]
local nachname = attr["Nachname"]
local name = com.tableConcatNil({vorname, nachname})
local name = com.tableConcatNil({vorname, nachname})
local page
local page_exists = wik.pageExists(name)
if wik.pageExists(name) then
if page_exists then
page = name
attr["SubobjektHatArtikel"] = "wahr"
else
else
page = str.split2(attr["Seite"], "/")[1]
attr["SubobjektHatArtikel"] = "falsch"
end
end
if vorname ~= nil then
if vorname ~= nil then
attr["VornameLink"] =
if page_exists then
"[[" .. page .. "|" .. vorname .. "]]"
attr["VornameLink"] = "[[" .. name .. "|" .. vorname .. "]]"
else
attr["VornameLink"] = vorname
end
end
end
if nachname ~= nil then
if nachname ~= nil then
attr["NachnameLink"] =
if page_exists then
"[[" .. page .. "|" .. nachname .. "]]"
attr["NachnameLink"] = "[[" .. name .. "|" .. nachname .. "]]"
else
attr["NachnameLink"] = nachname
end
end
end
if vorname ~= nil or nachname ~= nil then
if vorname ~= nil or nachname ~= nil then
attr[1] = smw.subobjectIdCleaner(name)
local nachname_vorname =
attr["Name"] = name
com.tableConcatNil({nachname or "", vorname}, ", ") -- ", Vorname" wenn Nachname leer
attr["NameLink"] =
attr["NachnameVorname"] = nachname_vorname
"[[" .. page .. "|" .. name .. "]]"
attr["NameLink"] = "[[" .. wik.toppagename() .. "|" .. name .. "]]"
end
end
-- GeburtsdatumLfd, TodesdatumLfd, DeportationsdatumLfd setzen
lfd.linkFormDateAttrList{attr_list = attr, date = attr["Geburtsdatum"], attr_date = "Geburtsdatum", attr_day = "Geburtstag", attr_year = "Geburtsjahr"}
lfd.linkFormDateAttrList{attr_list = attr, date = attr["Deportationsdatum"], attr_date = "Deportationsdatum"}
lfd.linkFormDateAttrList{attr_list = attr, date = attr["Todesdatum"], attr_date = "Todesdatum", attr_day = "Todestag", attr_year = "Todesjahr"}


-- subobject setzen
-- subobject setzen
Zeile 67: Zeile 78:


-- mw.logObject(t, "t")
-- mw.logObject(t, "t")
t = frame:preprocess(t)
return t
return t
end
end


return p
return p

Aktuelle Version vom 26. Februar 2026, 12:10 Uhr

local p = {}

local com = require("Modul:Common")
local dev = require("Modul:Development")
local str = require("Modul:String")
local wik = require("Modul:Wiki")
local smw = require("Modul:SMW")
local lfd = require("Modul:LinkFormDatum")

function p.OpferDerShoah(frame)
--	mw.logObject(frame, "OpferDerShoah(frame)")
	local t = ""
	local frame, pargs = dev.GetFrameAndParentArgs(frame)
	local attr, attr_empty = wik.getArgs(pargs, {
		"Nachname", "Vorname", "Geburtsname", "Geburtsdatum", "Geburtsort",
		"Todesdatum", "Todesort", "Deportationsdatum", "Deportationsort", "Todesursache",
		"Letzter bekannter Wohnort in Fürth", "Quellangaben"})

	if not attr_empty then															-- Überhaupt Parameter übergeben?

		attr["SubObjektTyp"] = "Opfer der Shoah"
		attr["AbweichendeNamensform"] = attr["Geburtsname"]
		attr["Geburtsname"] = nil
		attr["Gebäude"] = attr["Letzter bekannter Wohnort in Fürth"]
		attr["Letzter bekannter Wohnort in Fürth"] = nil

		-- Gebäude-Attribut suchen
		if attr["Gebäude"] ~= nil and not wik.pageExists(attr["Gebäude"]) then
			-- Seite mit passender StraßeHnr suchen
			local query = mw.smw.ask("[[:+]][[Kategorie:Gebäude]]" ..
				"[[StraßeHnr::" .. attr["Gebäude"] .. "]]|?#-|limit=1")
			if query ~= nil then
				attr["Gebäude"] = query[1][1]
			end
		end

		-- Name setzen
		local vorname = attr["Vorname"]
		local nachname = attr["Nachname"]
		local name = com.tableConcatNil({vorname, nachname})
		local page_exists = wik.pageExists(name)
		if page_exists then
			attr["SubobjektHatArtikel"] = "wahr"
		else
			attr["SubobjektHatArtikel"] = "falsch"
		end
		if vorname ~= nil then
			if page_exists then
				attr["VornameLink"] = "[[" .. name .. "|" .. vorname .. "]]"
			else
				attr["VornameLink"] = vorname
			end
		end
		if nachname ~= nil then
			if page_exists then
				attr["NachnameLink"] = "[[" .. name .. "|" .. nachname .. "]]"
			else
				attr["NachnameLink"] = nachname
			end
		end
		if vorname ~= nil or nachname ~= nil then
			local nachname_vorname =
				com.tableConcatNil({nachname or "", vorname}, ", ")					-- ", Vorname" wenn Nachname leer
			attr["NachnameVorname"] = nachname_vorname
			attr["NameLink"] = "[[" .. wik.toppagename() .. "|" .. name .. "]]"
		end

		-- GeburtsdatumLfd, TodesdatumLfd, DeportationsdatumLfd setzen
		lfd.linkFormDateAttrList{attr_list = attr, date = attr["Geburtsdatum"], attr_date = "Geburtsdatum", attr_day = "Geburtstag", attr_year = "Geburtsjahr"}
		lfd.linkFormDateAttrList{attr_list = attr, date = attr["Deportationsdatum"], attr_date = "Deportationsdatum"}
		lfd.linkFormDateAttrList{attr_list = attr, date = attr["Todesdatum"], attr_date = "Todesdatum", attr_day = "Todestag", attr_year = "Todesjahr"}

		-- subobject setzen
--		mw.logObject(attr, "attr")
		mw.smw.subobject(attr)

	end																			-- Ende if attr_empty

--	mw.logObject(t, "t")
	t = frame:preprocess(t)
	return t
end

return p