Modul:Gebäude: Unterschied zwischen den Versionen

Aus FürthWiki

1.039 Bytes hinzugefügt ,  Mittwoch um 20:49
Änderungen Faktenbox
(temporärer switch zu Modul:Faktenbox/Legacy)
(Änderungen Faktenbox)
Zeile 1: Zeile 1:
local p = {} --p stands for package
local p = {}


local com = require("Modul:Common")
local com = require("Modul:Common")
Zeile 6: Zeile 6:
local smw = require("Modul:SMW")
local smw = require("Modul:SMW")
local wik = require("Modul:Wiki")
local wik = require("Modul:Wiki")
local fab = require("Modul:Faktenbox/Legacy")
local fab = require("Modul:Faktenbox")
local kar = require("Modul:Karte")
local kar = require("Modul:Karte")
p.gebaude_attr = {"Bild", "Straße", "Hausnummer", "Straße2", "Hausnummer2",
"Straße3", "Hausnummer3", "Objekt", "TeilDesEnsembles", "TeilDesAreals",
"TeilDesGebäudeKomplexes", "Baujahr", "Baustil", "Architekt", "Bauherr",
"Maurermeister", "Ehemals", "Abbruchjahr", "DenkmalstatusBesteht",
"AktenNr", "Quellangaben"}


function p.Faktenbox(frame)
function p.Faktenbox(frame)
Zeile 14: Zeile 20:
-- Konsolenzeile zum Debuggen:
-- Konsolenzeile zum Debuggen:
-- =p.Faktenbox{pargs={Bild="Schwabacher Straße 12 Dez 2020 1.jpg",["Straße"]="Schwabacher Straße",Hausnummer="12",["TeilDesGebäudeKomplexes"]="TDGK",AktenNr="D-5-63-000-1464",Objekt="Häusle"}}
-- =p.Faktenbox{pargs={Bild="Schwabacher Straße 12 Dez 2020 1.jpg",["Straße"]="Schwabacher Straße",Hausnummer="12",["TeilDesGebäudeKomplexes"]="TDGK",AktenNr="D-5-63-000-1464",Objekt="Häusle"}}
local fbdata = fab.getFbdata(frame)
fbdata.formular = "Gebäude" -- ggf. "Gebäude/Work"
local t = p.faktenbox(fbdata)
return t
end
function p.faktenbox(fbdata)
-- mw.log("faktenbox(frame)")
-- mw.logObject(frame, "frame")
local t = ""
local t = ""


-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
local fbdata = fab.fbdata(frame)
fbdata.klasse = {"Gebäude"}
fbdata.klasse = {"Gebäude"}
fbdata.kategorie = {"Gebäude"}
fbdata.kategorie = {"Gebäude"}
fbdata.formular = "Gebäude" -- ggf. "Gebäude/Work"
fbdata.positionscheck = true
fbdata.positionscheck = true


Zeile 34: Zeile 47:


-- Tabs einsammeln und zusammenfügen
-- Tabs einsammeln und zusammenfügen
t = "<div class = factbox><tabs>" ..
t = fab.bildTab(fbdata) ..
fab.bildTab(fbdata) ..
p.kartenTab(fbdata) .. -- Karten-Tab muss vor Tabs mit zeileGeoDaten() sein
p.kartenTab(fbdata) .. -- Karten-Tab muss vor Tabs mit zeileGeoDaten() sein
p.datenTab(fbdata) ..
p.datenTab(fbdata) ..
p.residenzTab(fbdata, {ueberschrift = "Personen, die hier wohnen bzw. gewohnt haben:", klasse = "Person", kategorie="Personen"}) ..
p.residenzTab(fbdata, {ueberschrift = "Personen, die hier wohnen bzw. gewohnt haben:", klasse = "Person", kategorie="Personen"}) ..
p.residenzTab(fbdata, {ueberschrift = "Unternehmen, die hier ansässig sind/waren:", klasse = "Unternehmen", kategorie="Unternehmen"}) ..
p.residenzTab(fbdata, {ueberschrift = "Unternehmen, die hier ansässig sind/waren:", klasse = "Unternehmen", kategorie="Unternehmen"})
"</tabs></div>"
t = fab.factbox(t)


-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
t = t .. fab.common(fbdata)
mw.smw.set(fbdata.attr.list) -- Übergangsweise noch auch ohne subobject setzen
-- mw.logObject(t, "t")
fbdata.attr.subid = p.getSubobjectID(fbdata.pargs)
fbdata.attr.list["SubObjektTyp"] = "Gebäude"
t = t .. fab.postprocess(fbdata)
end
end


-- Pre-Processing und String-Länge checken
-- Pre-Processing und String-Länge checken
-- mw.logObject(t, "t")
t = fbdata.frame:preprocess(t)
t = fbdata.frame:preprocess(t)
-- mw.logObject(t, "t")
return t
return t
end
end
Zeile 81: Zeile 95:


-- Teil des Ensembles um "Ensemble " ergänzen
-- Teil des Ensembles um "Ensemble " ergänzen
local teil_des_ensembles = str.splitAndStrip(fbdata.pargs["TeilDesEnsembles"] or "", ";")
local teil_des_ensembles = str.splitAndStrip(fbdata.pargs["TeilDesEnsembles"], ";")
for i = 1, #teil_des_ensembles do
for i = 1, #teil_des_ensembles do
teil_des_ensembles[i] = "Ensemble " .. teil_des_ensembles[i]
teil_des_ensembles[i] = "Ensemble " .. teil_des_ensembles[i]
Zeile 87: Zeile 101:


-- Zusammenbau
-- Zusammenbau
t = t .. "<dl class = 'dataTable'>"
t = t .. fab.zeileKategorieSeite(fbdata, args.kindex)
t = t .. fab.zeileKategorieSeite(fbdata, args.kindex)
t = t .. fab.zeileStrasseHnr(fbdata)
t = t .. fab.zeileStrasseHnr(fbdata)
t = t .. fab.zeile{attr_name = "PLZ", attr_val = fbdata.plz}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "PLZ", attr_val = fbdata.plz}
t = t .. fab.zeile{attr_name = "Objekt", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Objekt", delimiter = ";"}
t = t .. fab.zeile{attr_name = "TeilDesEnsembles", attr_val = teil_des_ensembles, delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "TeilDesEnsembles", attr_val = teil_des_ensembles, delimiter = ";"}
t = t .. fab.zeile{attr_name = "TeilDesAreals", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "TeilDesAreals", delimiter = ";"}
t = t .. fab.zeile{attr_name = "TeilDesGebäudeKomplexes", attr_val = teil_des_gebaeude_komplexes, delimiter = ";", attr_text = "Teil des Gebäude-Komplexes"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "TeilDesGebäudeKomplexes", attr_val = teil_des_gebaeude_komplexes, delimiter = ";", attr_text = "Teil des Gebäude-Komplexes"}
t = t .. fab.zeile{attr_name = "Baujahr", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Baujahr", delimiter = ";"}
t = t .. fab.zeile{attr_name = "DenkmalstatusBesteht", fbdata = fbdata}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "DenkmalstatusBesteht"}
t = t .. fab.zeileAktenNr(fbdata)
t = t .. fab.zeileAktenNr(fbdata)
t = t .. fab.zeile{attr_name = "Quellangaben", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Quellangaben", delimiter = ";"}
t = t .. fab.zeile{attr_name = "Ehemals", fbdata = fbdata, attr_text = "Ehemals (abgerissen)"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Ehemals", attr_text = "Ehemals (abgerissen)"}
t = t .. fab.zeile{attr_name = "Abbruchjahr", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Abbruchjahr", delimiter = ";"}
t = t .. fab.zeile{attr_name = "Baustil", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Baustil", delimiter = ";"}
t = t .. fab.zeile{attr_name = "Bauherr", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Bauherr", delimiter = ";"}
t = t .. fab.zeile{attr_name = "Architekt", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Architekt", delimiter = ";"}
t = t .. fab.zeile{attr_name = "Maurermeister", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Maurermeister", delimiter = ";"}
t = t .. fab.zeileGeoDaten(fbdata)
t = t .. fab.zeileGeoDaten(fbdata)
t = t .. "</dl>"
t = fab.tabelle_header_footer(t)
t = t .. fab.zeileSemantikBrowsenAbfrage(fbdata)
t = t .. fab.zeileSemantikBrowsenAbfrage(fbdata)


Zeile 140: Zeile 153:
fbdata.frame:expandTemplate{title = locationlist_template, args = pargs}
fbdata.frame:expandTemplate{title = locationlist_template, args = pargs}
args["location"] = nil
args["location"] = nil
args.noattr = fbdata.attr.noattr
-- Karte erstellen
-- Karte erstellen
-- mw.logObject(args, "args")
-- mw.logObject(args, "args")
Zeile 145: Zeile 159:
if kar.kartenArgsVorhanden(args) or not com.isTrue(args["Ehemals"]) then
if kar.kartenArgsVorhanden(args) or not com.isTrue(args["Ehemals"]) then
t_karte, fbdata.geoobjects = kar.karte(fbdata.frame, args)
t_karte, fbdata.geoobjects = kar.karte(fbdata.frame, args)
if not fbdata.attr.noattr then
for _, o in ipairs(fbdata.geoobjects) do
smw.addAttrToList(fbdata.attr.list,
"GeoSubobject", fbdata.pagename .. "#" .. o.subid)
end
end
end
end
t = t .. t_karte
t = t .. t_karte
Zeile 316: Zeile 336:
-- Konsolenzeile zum Debuggen:
-- Konsolenzeile zum Debuggen:
-- =p.teilDesGebaeudeKomplexes{pargs={["TeilDesGebäudeKomplexes"]="Rathaus"},fullpagename="Badstraße 15",subpagename="Badstraße 15"}
-- =p.teilDesGebaeudeKomplexes{pargs={["TeilDesGebäudeKomplexes"]="Rathaus"},fullpagename="Badstraße 15",subpagename="Badstraße 15"}
local teil_des_gebaeude_komplexes = fbdata.pargs["TeilDesGebäudeKomplexes"] or ""
local teil_des_gebaeude_komplexes = str.splitAndStrip(fbdata.pargs["TeilDesGebäudeKomplexes"], ";")
teil_des_gebaeude_komplexes = str.splitAndStrip(teil_des_gebaeude_komplexes, ";")
local query = "[[:+]][[!" .. fbdata.fullpagename .. "]][[Kategorie:Gebäude]][[StraßeHnr::" .. fbdata.subpagename .. "]] [[AnzahlGebäude::>2]]"
local query = "[[:+]][[!" .. fbdata.fullpagename .. "]][[Kategorie:Gebäude]][[StraßeHnr::" .. fbdata.subpagename .. "]] [[AnzahlGebäude::>2]]"
-- mw.log(query, "query")
-- mw.log(query, "query")
Zeile 335: Zeile 354:


-- Geolokation location ermitteln
-- Geolokation location ermitteln
local location = fbdata.pargs["location"] or "" -- location vorhanden?
local location = fbdata.pargs["location"]
if location == "" then
if location == nil and fbdata.pargs["lat"] ~= nil and fbdata.pargs["lon"] ~= nil then
local lat = fbdata.pargs["lat"] or "" -- lat/lon vorhanden?
location = fbdata.pargs["lat"] .. "," .. fbdata.pargs["lon"]
local lon = fbdata.pargs["lon"] or ""
if lat ~= "" and lon ~= "" then
location = lat .. "," .. lon
end
end
end
if location == "" then -- im Zweifelsfall generische location mittels Seitennamen
if location == nil then -- im Zweifelsfall generische location mittels Seitennamen
location = wik.pagename() .. ",Fürth,Bayern,Deutschland"
location = wik.pagename() .. ",Fürth,Bayern,Deutschland"
end
end
Zeile 381: Zeile 396:
-- mw.logObject(t, "t")
-- mw.logObject(t, "t")
return t
return t
end
function p.getSubobjectID(args) -- subobject ID zusammenbauen
local subid = "Gebäude"
if not com.isEmpty(args["Objekt"]) then
subid = subid .. " " .. args["Objekt"]
end
if not com.isEmpty(args["Baujahr"]) then
subid = subid .. " " .. args["Baujahr"]
end
subid = smw.subobjectIdCleaner(subid)
return subid
end
end


return p
return p