8,756
edits
mNo edit summary |
No edit summary |
||
(17 intermediate revisions by 2 users not shown) | |||
Line 14: | Line 14: | ||
local intro = frame:preprocess(args.intro or '') | local intro = frame:preprocess(args.intro or '') | ||
local outro = frame:preprocess(args.outro or '') | local outro = frame:preprocess(args.outro or '') | ||
local template = frame:preprocess(args.template or 'single query result') | |||
local delimiter = args.delimiter or '' | local delimiter = args.delimiter or '' | ||
Line 19: | Line 20: | ||
local format = args.format or nil | local format = args.format or nil | ||
result = p.query(args) | |||
if (result == args.default or result == '') then | |||
return result | |||
if | |||
result | |||
end | end | ||
local tbl = {} | local tbl = {} | ||
if format == "table" then | if format == "table" then | ||
return (intro .. h.makeTable(result) .. outro) | return (intro .. tostring(h.makeTable(result)) .. outro) | ||
else | else | ||
for i, row in ipairs(result) do | for i, row in ipairs(result) do | ||
row.index = i | row.index = i | ||
tbl[#tbl+1] = frame:expandTemplate{ title = | tbl[#tbl+1] = frame:expandTemplate{ title = template, args = row } | ||
end | end | ||
if colcount ~= nil then | if colcount ~= nil then | ||
Line 200: | Line 181: | ||
template = frame:preprocess(args['template'] or '') | template = frame:preprocess(args['template'] or '') | ||
if template == nil or template == '' then | if template == nil or template == '' then | ||
template='single query result' | |||
end | end | ||
delimiter = frame:preprocess(args['delimiter'] or '') | delimiter = frame:preprocess(args['delimiter'] or '') | ||
Line 216: | Line 197: | ||
tempresult = p.query(b) | tempresult = p.query(b) | ||
if tempresult ~= nil and tempresult ~= '' then | if tempresult ~= nil and tempresult ~= '' then | ||
result[#result+1] = | result[#result+1] = tempresult | ||
end | end | ||
end | end | ||
if result == args.default or result == '' then | |||
return result | |||
end | |||
resulttbl = util_table.mergeArrays(nil, unpack(result)) | resulttbl = util_table.mergeArrays(nil, unpack(result)) | ||
local tbl = {} | local tbl = {} | ||
Line 233: | Line 218: | ||
end | end | ||
function getColNames(row) | function h.getColNames(row) | ||
cols = {} | cols = {} | ||
for colname, _ in pairs(row)do | for colname, _ in pairs(row)do | ||
Line 245: | Line 230: | ||
local tbl = mw.html.create('table') | local tbl = mw.html.create('table') | ||
:addClass('wikitable') | :addClass('wikitable') | ||
colNames = getColNames(result) | colNames = h.getColNames(result[1]) | ||
util_html.printHeader(tbl, colNames) | util_html.printHeader(tbl, colNames) | ||
util_html.printRowsByList(tbl, result, colNames) | util_html.printRowsByList(tbl, result, colNames) | ||
return tbl | return tbl | ||
end | end | ||
return p | return p |