local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType
local p = {}
p.show_tabbed_data = function (frame)
mArguments = require('Module:Arguments')
args = mArguments.getArgs(frame)
return p._show_tabbed_data(args)
end
p._show_tabbed_data = function (args)
checkType('_show_tabbed_data', 1, args, 'table', true)
args = args or {}
local lang = "en" -- This should be generated automatically, but I don't know how it is exposed to Lua
local wiki = "enwiki" -- This should be generated automatically, but I don't know how it is exposed to Lua
local tab_file = "Listeria/" .. wiki .. "/" .. args.page .. ".tab"
local ret = "Using: '" .. args.page .. "'" .. " as file " .. tab_file .. "\n"
local tab = mw.ext.data.get(tab_file,lang)
if tab == nil then
error("Could not load data from "..tab_file)
end
ret = ret .. "{| class=\"wikitable sortable jquery-tablesorter\"\n"
for colnum,col in pairs(tab.schema.fields) do
if colnum > 1 then
local header = col.title
if header == nil then
header = col.name
end
ret = ret .. "! " .. header .. "\n"
end
end
for rownum,row in pairs(tab.data) do
ret = ret .. "|-\n"
for colnum,cell in pairs(row) do
if colnum > 1 then
ret = ret .. "| " .. cell .. "\n"
end
end
end
ret = ret .. "\n|}\n"
return ret
end
return p