Modul:Gebäude: Unterschied zwischen den Versionen

Aus FürthWiki

+ p.Weiterleitung(frame)
(zeileGeoDaten(fbdata))
(+ p.Weiterleitung(frame))
Zeile 4: Zeile 4:
local geo = require("Modul:Geo")
local geo = require("Modul:Geo")
local que = require("Modul:Queries")
local que = require("Modul:Queries")
local wik = require("Modul:Wiki")
local fab = require("Modul:Faktenbox")
local fab = require("Modul:Faktenbox")


Zeile 42: Zeile 43:
-- mw.log("box = " .. box)
-- mw.log("box = " .. box)
return box
return box
end
function p.Weiterleitung(frame)
-- mw.log("Weiterleitung(frame)")
-- Konsolenzeile zum Debuggen:
-- =p.Weiterleitung{pargs={location="BlaBla,Fürth,Bayern,Deutschland"}}
local t = "\n'''Dieses ist eine Gebäude-Weiterleitungs-Seite zum zugehörigen Gebäude-Komplex'''\n"
-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
local fbdata = fab.fbdata(frame)
fbdata.klasse = {"Gebäude"}
fbdata.kategorie = {"Gebäude"}
-- Geolokation location ermitteln
local location = fbdata.pargs["location"] or "" -- location vorhanden?
if location == "" then
local lat = fbdata.pargs["lat"] or "" -- lat/lon vorhanden?
local lon = fbdata.pargs["lon"] or ""
if lat ~= "" and lon ~= "" then
location = lat .. "," .. lon
end
end
if location == "" then -- im Zweifelsfall generische location mittels Seitennamen
location = wik.pagename() .. ",Fürth,Bayern,Deutschland"
end
t = t .. "* Geolokation: " .. location .. "\n"
mw.log("location = " .. location)
-- Koordinate per #geocode ermitteln
local geocode = fbdata.frame:callParserFunction( "#geocode", location )
mw.log("geocode = " .. geocode)
if geocode == "Geocoding failed" then
t = t .. "Geokoordinate konnte nicht ermittelt werden<br>"
else
t = t .. "* Geokoordinate: [[Geokoordinate::" .. geocode .. "]]{{#set:Geolokation=" .. location .. "}}\n"
-- Teil des Gebäude Komplexes ermitteln
local teil_des_gebaeude_komplexes = p.teilDesGebaeudeKomplexes(fbdata)
if #teil_des_gebaeude_komplexes == 0 then
t = t .. "Fehler: Fehlende Angabe zum Gebäude-Komplex!<br>"
else
t = t .. "* Teil des Gebäude-Komplexes: "
for i, k in ipairs(teil_des_gebaeude_komplexes) do
if i > 1 then
t = t .. ", "
end
t = t .. "[[TeilDesGebäudeKomplexes::" .. k .. "]]"
end
t = t .. "\n\nIn wenigen Sekunden erfolgt die Weiterleitung zur Gebäude-Komplex-Seite [[" .. teil_des_gebaeude_komplexes[1] .. "]]{{#widget:Redirect|to=" .. teil_des_gebaeude_komplexes[1] .. "}}\n\n"
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
t = t .. "{{#set:Seite=" .. fbdata.fullpagename .. "}}"
t = t .. fab.common(fbdata)
end
end
-- Pre-Processing und String-Länge checken
-- mw.log("t = " .. t)
t = fbdata.frame:preprocess(t)
t = t .. com.returnStringCheck(t)
-- mw.log("t = " .. t)
t = fbdata.frame:preprocess(t)
return t
end
end


Zeile 68: Zeile 132:
args = args or {}
args = args or {}


-- Teil des Gebäude Komplexes ermitteln und mergen
-- Teil des Gebäude Komplexes ermitteln
local teil_des_gebaeude_komplexes = fbdata.pargs["TeilDesGebäudeKomplexes"] or ""
local teil_des_gebaeude_komplexes = p.teilDesGebaeudeKomplexes(fbdata)
teil_des_gebaeude_komplexes = str.splitAndStrip(teil_des_gebaeude_komplexes, ";")
local query = "[[:+]][[!" .. fbdata.fullpagename .. "]][[Kategorie:Gebäude]][[StraßeHnr::" .. fbdata.subpagename .. "]] [[AnzahlGebäude::>2]]"
-- mw.log("query = " .. query)
local query_result = que.getPages(query, true)
-- mw.logObject(query_result)
teil_des_gebaeude_komplexes = com.append_tables(teil_des_gebaeude_komplexes, query_result)


-- Teil des Ensembles um "Ensemble " ergänzen
-- Teil des Ensembles um "Ensemble " ergänzen
Zeile 246: Zeile 304:
-- mw.log("plz = " .. plz)
-- mw.log("plz = " .. plz)
return plz
return plz
end
function p.teilDesGebaeudeKomplexes(fbdata)
-- mw.log("teilDesGebaeudeKomplexes(fbdata)")
-- mw.logObject(fbdata.pargs)
-- Konsolenzeile zum Debuggen:
-- =p.teilDesGebaeudeKomplexes{pargs={["TeilDesGebäudeKomplexes"]="Rathaus"},fullpagename="Badstraße 15",subpagename="Badstraße 15"}
local teil_des_gebaeude_komplexes = fbdata.pargs["TeilDesGebäudeKomplexes"] or ""
teil_des_gebaeude_komplexes = str.splitAndStrip(teil_des_gebaeude_komplexes, ";")
local query = "[[:+]][[!" .. fbdata.fullpagename .. "]][[Kategorie:Gebäude]][[StraßeHnr::" .. fbdata.subpagename .. "]] [[AnzahlGebäude::>2]]"
-- mw.log("query = " .. query)
local query_result = que.getPages(query, true)
-- mw.logObject(query_result)
teil_des_gebaeude_komplexes = com.append_tables(teil_des_gebaeude_komplexes, query_result)
-- mw.logObject(teil_des_gebaeude_komplexes)
return teil_des_gebaeude_komplexes
end
end


return p
return p