17.707
Bearbeitungen
(temporärer switch zu Modul:Faktenbox/Legacy) |
(Änderungen Faktenbox) |
||
| Zeile 1: | Zeile 1: | ||
local p = {} | 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 | 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) | ||
fbdata.klasse = {"Gebäude"} | fbdata.klasse = {"Gebäude"} | ||
fbdata.kategorie = {"Gebäude"} | fbdata.kategorie = {"Gebäude"} | ||
fbdata.positionscheck = true | fbdata.positionscheck = true | ||
| Zeile 34: | Zeile 47: | ||
-- Tabs einsammeln und zusammenfügen | -- Tabs einsammeln und zusammenfügen | ||
t = | t = 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"}) | ||
t = fab.factbox(t) | |||
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...) | -- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...) | ||
mw.smw.set(fbdata.attr.list) -- Übergangsweise noch auch ohne subobject setzen | |||
-- | 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) | ||
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"] | 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 .. 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", | 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", | 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", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Baujahr", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "DenkmalstatusBesteht" | 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", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Quellangaben", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Ehemals", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Ehemals", attr_text = "Ehemals (abgerissen)"} | ||
t = t .. fab.zeile{attr_name = "Abbruchjahr", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Abbruchjahr", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Baustil", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Baustil", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Bauherr", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Bauherr", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Architekt", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Architekt", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Maurermeister", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Maurermeister", delimiter = ";"} | ||
t = t .. fab.zeileGeoDaten(fbdata) | t = t .. fab.zeileGeoDaten(fbdata) | ||
t = t | 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"] | local teil_des_gebaeude_komplexes = str.splitAndStrip(fbdata.pargs["TeilDesGebäudeKomplexes"], ";") | ||
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"] | local location = fbdata.pargs["location"] | ||
if location == | if location == nil and fbdata.pargs["lat"] ~= nil and fbdata.pargs["lon"] ~= nil then | ||
location = fbdata.pargs["lat"] .. "," .. fbdata.pargs["lon"] | |||
end | end | ||
if location == | 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 | ||