20.564
Bearbeitungen
(- returnStringCheck()) |
(- fab.subpagesPresent(fbdata)) |
||
| (22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
local com = require("Modul:Common") | local com = require("Modul:Common") | ||
| Zeile 7: | Zeile 7: | ||
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") | |||
function p.Faktenbox(frame) | function p.Faktenbox(frame) | ||
-- mw.log("Faktenbox(frame)") | -- mw.log("Faktenbox(frame)") | ||
-- mw.logObject(frame, "frame") | -- mw.logObject(frame, "frame") | ||
local t = "" | local t = "" | ||
-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular) | -- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular) | ||
local fbdata = fab. | local fbdata = fab.getFbdata(frame) | ||
fbdata.klasse = {"Gebäude"} | fbdata.klasse = {"Gebäude"} | ||
fbdata.kategorie = {"Gebäude"} | fbdata.kategorie = {"Gebäude"} | ||
| Zeile 33: | Zeile 32: | ||
-- 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) .. | |||
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_header_footer(t) | |||
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...) | |||
t = t .. fab.postprocess(fbdata) | |||
end | end | ||
-- | -- Pre-Processing und String-Länge checken | ||
-- mw.logObject(t, "t") | -- mw.logObject(t, "t") | ||
t = fbdata.frame:preprocess(t) | t = fbdata.frame:preprocess(t) | ||
return t | return t | ||
end | end | ||
| Zeile 80: | Zeile 77: | ||
-- 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 86: | Zeile 83: | ||
-- 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 = "; | t = t .. fab.zeile{fbdata = fbdata, attr_name = "TeilDesGebäudeKomplexes", attr_val = teil_des_gebaeude_komplexes, delimiter = ";"} | ||
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{ | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Ehemals"} | ||
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.table_header_footer(t) | ||
t = t .. fab.zeileSemantikBrowsenAbfrage(fbdata) | t = t .. fab.zeileSemantikBrowsenAbfrage(fbdata) | ||
| Zeile 121: | Zeile 117: | ||
t = "" | t = "" | ||
if string.find(fbdata.pagename, ";") ~= nil then | if string.find(fbdata.pagename, ";") ~= nil then | ||
t = "Semikolon im Artikel-/Seitennamen für korrekte Kartendarstellung nicht erlaubt!" | t = t .. "Semikolon im Artikel-/Seitennamen für korrekte Kartendarstellung nicht erlaubt!" | ||
elseif kar.kartenArgsVorhanden(fbdata.pargs) or -- Soll überhaupt eine Karte angezeigt werden? | |||
local | not com.isTrue(fbdata.pargs["Ehemals"]) or | ||
fbdata.pargs["Straße"] ~= nil or | |||
fbdata.pargs["Straße2"] ~= nil or | |||
fbdata.pargs["Straße3"] ~= nil then | |||
-- Karten-Argumente übernehmen und aufbereiten | |||
local args = fab.getKartenArgs(fbdata, 18) | |||
-- locationlist ermitteln | |||
local pargs = com.shallowcopy(fbdata.pargs) -- to do: in Lua überführen | |||
pargs["PLZ"] = fbdata.plz -- derzeit noch etwas verkrampft | |||
local locationlist_template = "Gebäude/Karte/Locationlist" -- to do: mehrfache geoobjects an der selben Geokoordinate ausfiltern | |||
if com.isTrue(fbdata.pargs["Work"]) and wik.pageExists(locationlist_template .. "/Work") then -- siehe z.B. Rathaus <=> Königstr. 88 | |||
locationlist_template = locationlist_template .. "/Work" | |||
end | |||
args["locationlist"] = | |||
fbdata.frame:expandTemplate{title = locationlist_template, args = pargs} | |||
args["location"] = nil | |||
-- Karte erstellen | |||
-- mw.logObject(args, "args") | |||
local t_karte = "" | |||
if kar.kartenArgsVorhanden(args) or not com.isTrue(args["Ehemals"]) then | |||
t_karte, fbdata.geoobjects = kar.karte(fbdata.frame, args) | |||
end | |||
t = t .. t_karte | |||
end | end | ||
-- Tab draus machen | -- Tab draus machen | ||
| Zeile 150: | Zeile 165: | ||
} | } | ||
for | for ish, sh in ipairs(strasse_hnr) do -- Straße/Hausnummern-Kombis durchitereieren | ||
local s = str.strip(sh[1]) -- Straße | local s = str.strip(sh[1]) -- Straße | ||
local hl = str.strip(sh[2]) -- Hausnummernliste | local hl = str.strip(sh[2]) -- Hausnummernliste | ||
| Zeile 163: | Zeile 178: | ||
entry.suspekt = false | entry.suspekt = false | ||
if hl == "" then -- leere Hausnummernliste | if hl == "" then -- leere Hausnummernliste | ||
result.suspekt = true | if ish ~= 2 then -- Sonderfall Ecke | ||
result.suspekt = true | |||
end | |||
entry.suspekt = true | entry.suspekt = true | ||
else | else | ||
| Zeile 228: | Zeile 245: | ||
-- Shoah-Opfer | -- Shoah-Opfer | ||
if args.klasse == "Person" | if args.klasse == "Person" and fbdata.shoah ~= nil then | ||
for _, s in ipairs(fbdata.shoah) do | for _, s in ipairs(fbdata.shoah) do | ||
local name = (s["Vorname"] or "") .. " " .. (s["Nachname"] or "") | local name = (s["Vorname"] or "") .. " " .. (s["Nachname"] or "") | ||
| Zeile 287: | Zeile 304: | ||
else | else | ||
end | end | ||
-- mw. | -- mw.logObject(plz, "plz") | ||
return plz | return plz | ||
end | end | ||
| Zeile 296: | Zeile 313: | ||
-- 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 315: | Zeile 331: | ||
-- 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 354: | Zeile 366: | ||
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...) | -- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...) | ||
fbdata.positionscheck = false | |||
t = t .. "{{#set:Seite=" .. fbdata.fullpagename .. "}}" | t = t .. "{{#set:Seite=" .. fbdata.fullpagename .. "}}" | ||
t = t .. fab. | t = t .. fab.postprocess(fbdata) | ||
end | end | ||
end | end | ||