Module:Sandbox/Stevium: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
local p = {}
local p = {}
local getArgs = require('Module:Arguments').getArgs


function p.show(frame)
function p.show(frame)
local args = frame:getParent().args
local args = getArgs(frame)
mw.logObject(args)
 
local bucket_name = mw.text.trim(args[1] or '')
local bucket_name = mw.text.trim(args[1] or '')
mw.log("bucket_name = [" .. bucket_name .. "]")
local select_field = mw.text.trim(args[2] or '')
local select_field = mw.text.trim(args[2] or '')
mw.log("select_field = [" .. select_field .. "]")
 
local b = mw.bucket(bucket_name).select(select_field)
local b = mw.bucket(bucket_name)
mw.log("mw.bucket() succeeded")
 
b = b.select(select_field)
mw.log("select() succeeded")
 
b = b.limit(1)
mw.log("limit() succeeded")
 
for k, v in pairs(args) do
for k, v in pairs(args) do
if k ~= 1 and k ~= 2 then
if k ~= 1 and k ~= 2 then
mw.log("where: " .. tostring(k) .. "=" .. tostring(v))
b.where(k, v)
b = b.where(k, v)
end
end
end
end
 
local data = b:run()
local data = b.run()
mw.logObject(data)
 
if data[1] and data[1][select_field] then
return "done"
data = data[1][select_field]
if type(data) == 'table' then
data = data[1]
end
return data
end
end
end


return p
return p