Modul:Gebäude
Aus FürthWiki
Seiten-Übersicht
| Hauptseite | Unterseiten | ||
|---|---|---|---|
| Allgemein | |||
| Faktenbox | Vorlagen | ||
| Formulare |
|
||
| Module | |||
| Abfrage | Vorlagen |
| |
| Formulare |
| ||
| Sonstige | |||
Siehe auch
local p = {} --p stands for package
local c = require("Module:Common")
local str = require("Modul:String")
function p.Faktenbox(frame)
local args = c.shallowcopy(frame:getParent().args)
args["PLZ"] = p.getPLZ(frame, args)
local tpl_bild = p.bild(frame, args)
local tab_bild=''
if tpl_bild:gsub("%s+", "") ~= '' then
tab_bild = '<tab name=Bild>' ..
tpl_bild .. '</tab>'
end
local tpl_karte = p.karte(frame, args)
local tab_karte=''
if tpl_karte:gsub("%s+", "") ~= '' then
tab_karte = '<tab name=Karte>' ..
tpl_karte .. '</tab>'
end
-- The tab "Daten" is visible everytime
local tpl_daten = p.daten(frame, args)
local tab_daten = '<tab name=Daten>' ..
tpl_daten .. '</tab>'
local tpl_pages = p.bild(frame, args)
local tab_pages=''
if tpl_pages:gsub("%s+", "") ~= '' then
tab_pages = '<tab name=Bild>' ..
tpl_pages .. '</tab>'
end
local t ='<div class=factbox><tabs>' ..
tab_bild ..
tab_karte ..
tab_daten ..
tab_pages ..
'</tabs></div>'
-- Use preprocess to render the factbox and all contens at once
return frame:preprocess(t)
end
function p.bild(frame, args)
return frame:expandTemplate{title='Bildertab', args=args}
end
function p.daten(frame, args)
return frame:expandTemplate{title='Gebäude/Daten', args=args}
end
function p.karte(frame, args)
return frame:expandTemplate{title='Kartentab', args=args}
end
function p.pages(frame, args)
return frame:expandTemplate{title='Gebäude/Artikel', args=args}
end
function p.FormatHausnummer(frame)
-- #invoke wrapper
return formatHausnummer(frame.args['Hausnummer'])
end
function p.formatHausnummer(hausnummer)
-- Hausnummer ohne Buchstaben extrahieren, um damit PLZ zu ermitteln
local hausnr = ""
if not c.isEmpty(hausnummer) then
hausnr = tonumber(string.match("0" .. hausnummer, "%d+"))
end
return hausnr
end
function p.getPLZ(frame, args)
local hausnr = p.formatHausnummer(args["Hausnummer"])
local streets = str.split(args['Straße'], ";")
-- Ned schön, funktioniert aber. Iterative Multistraßen-Lösung wäre fein!
return frame:expandTemplate{title = 'StraßeHausnummer2PLZ', args={
['Straße'] = str.strip(streets[1]),
['HausnummerOhneBuchstaben'] = hausnr}
}
end
return p