Modul:Geo: Unterschied zwischen den Versionen

K
Entfernte den Schutz von „Modul:Geo
(Variablen Schreibweise)
K (Entfernte den Schutz von „Modul:Geo“)
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 85: Zeile 85:


function p.GetPLZList(frame)
function p.GetPLZList(frame)
local sep = frame.args.sep or ";"
return table.concat(p.getPLZList(), frame.args.sep or ";")
local plz_table = p.getPLZList()
local plz_list = str.list(plz_table, sep)
return plz_list
end
end


Zeile 97: Zeile 94:
function p.Stadtteil2PLZ(frame)
function p.Stadtteil2PLZ(frame)
-- mw.logObject(frame)
-- mw.logObject(frame)
local plz_list = ""
local plz = ""
local stadtteile = frame.args[1]
local stadtteile = frame.args[1] or ""
if not com.isEmpty(stadtteile) then
if stadtteile ~= "" then
local stadtteilTable = str.split(stadtteile, ";")
local stadtteile = str.splitAndStrip(stadtteile, ";")
local plz_table = p.stadtteil2PLZ(stadtteilTable)
plz = p.stadtteil2PLZ(stadtteile)
plz_list = str.list(plz_table, ";")
plz = table.concat(plz, ";")
end
end
-- mw.log(plz_list)
-- mw.log(plz)
return plz_list
return plz
end
end


Zeile 111: Zeile 108:
-- gibt die Postleitzahlen der Stadtteile als table zurück
-- gibt die Postleitzahlen der Stadtteile als table zurück
local plz_table = {}
local plz_table = {}
if not com.isEmpty(stadtteile) then
if type(stadtteile) == "table" then
if type(stadtteile) == "table" then
for _, s in pairs(stadtteile) do
for _, s in pairs(stadtteile) do
for _, p in pairs(que.getValues(s, "PLZ", true)) do -- p ist string
for _, p in pairs(que.getValues(s, "PLZ", true)) do -- p ist string
plz_table[tonumber(p)] = true -- diese Mechanik verhindert mehrfaches Einfügen der gleichen PLZ
plz_table[tonumber(p)] = true -- diese Mechanik verhindert mehrfaches Einfügen der gleichen PLZ
end
end
end
else
plz_table[tonumber(que.getValues(stadtteile, "PLZ", true)[1])] = true
end
end
elseif stadtteile ~= nil and stadtteile ~= "" then
plz_table[tonumber(que.getValues(stadtteile, "PLZ", true)[1])] = true
end
end
-- mw.logObject(plz_table)
-- mw.logObject(plz_table)


local plz_list = {} -- Tabelle in sortierte Liste überführen
local plz = {} -- Tabelle in sortierte Liste überführen
for p, _ in pairs(plz_table) do
for p, _ in pairs(plz_table) do
table.insert(plz_list, p)
table.insert(plz, p)
end
end
table.sort(plz_list)
table.sort(plz)
-- mw.logObject(plz_list)
-- mw.logObject(plz)
return plz_list
return plz
end
end


return p
return p