Modul:Ereignis/Opfer der Shoah

Aus FürthWiki

< Modul:Ereignis

Version vom 25. Februar 2026, 08:04 Uhr von HeikoBot (Diskussion | Beiträge) (- DEFAULTSORT)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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})
		if vorname ~= nil then
			if wik.pageExists(name) then
				attr["VornameLink"] = "[[" .. name .. "|" .. vorname .. "]]"
			else
				attr["VornameLink"] = vorname
			end
		end
		if nachname ~= nil then
			if wik.pageExists(name) 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