Jump to content

Module:Data and Module:Data/sandbox: Difference between pages

(Difference between pages)
Page 1
Page 2
Content deleted Content added
Jackmcbarn (talk | contribs)
Make this work when called with wikitext's fake tables
 
simp?
 
Line 3: Line 3:
function mt.__index(t, k)
function mt.__index(t, k)
return function(frame)
return function(frame)
local data = mw.loadData(k)
local success, data = pcall(mw.loadData, k)
local i = 1
if not success then
success, data = pcall(mw.loadJsonData, k)
for _,v in ipairs(frame.args) do
if not success then
error("'" .. k .. "' is not a valid data page")
end
end
for i, v in ipairs(frame.args) do
local ty = type(data)
local ty = type(data)
if ty ~= 'table' then
if ty ~= 'table' then
Line 18: Line 23:
end
end
end
end
data = data[v]
local nextdata = data[v]
if nextdata == nil and tonumber(v) then
i = i + 1
data = data[tonumber(v)]
else
data = nextdata
end
end
end
return data
return data