Module:ToolInventoryData: Difference between revisions
From Claremont MakerSpace
(ToolInstanceTable: Take argument for asset tags list) |
No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
local function getToolInfo(asset_tag) | local function getToolInfo(asset_tag) | ||
mw. | local data, err = mw.ext.externaldata.getWebData { | ||
url = 'SNIPEIT_URL/api/v1/hardware/bytag/' .. asset_tag, | |||
format = 'json', | |||
'use jsonpath', | |||
data = {status = '$.status_label.name'} | |||
} | |||
if err ~= nil then | |||
mw.logObject(err) | |||
) | end | ||
return | return data | ||
end | end | ||
function p.ToolInstanceTable(frame) | function p.ToolInstanceTable(frame) | ||
local out = '{| class="wikitable"\n! Asset Tag | local out = '{| class="wikitable" style="margin: 0;"\n! Asset Tag || Status \n|-\n' | ||
for idx, asset_tag in ipairs(mw.text.split(frame.args[1], ';')) | for idx, asset_tag in ipairs(mw.text.split(frame.args[1], ';')) | ||
do | do | ||
data = getToolInfo(asset_tag) | local data = getToolInfo(asset_tag) | ||
out = out .. '|' .. | local status = data and data.status or '<span class="error">Error retrieving status</span>' | ||
local link ='[https://inventory.claremontmakerspace.org/hardware/bytag?assetTag='..asset_tag..' '..asset_tag..']' | |||
out = out .. '|' .. link .. '||' .. status .. '\n|-\n' | |||
end | end | ||
Latest revision as of 05:28, 3 August 2021
Documentation for this module may be created at Module:ToolInventoryData/doc
local p = {} local function getToolInfo(asset_tag) local data, err = mw.ext.externaldata.getWebData { url = 'SNIPEIT_URL/api/v1/hardware/bytag/' .. asset_tag, format = 'json', 'use jsonpath', data = {status = '$.status_label.name'} } if err ~= nil then mw.logObject(err) end return data end function p.ToolInstanceTable(frame) local out = '{| class="wikitable" style="margin: 0;"\n! Asset Tag || Status \n|-\n' for idx, asset_tag in ipairs(mw.text.split(frame.args[1], ';')) do local data = getToolInfo(asset_tag) local status = data and data.status or '<span class="error">Error retrieving status</span>' local link ='[https://inventory.claremontmakerspace.org/hardware/bytag?assetTag='..asset_tag..' '..asset_tag..']' out = out .. '|' .. link .. '||' .. status .. '\n|-\n' end return out .. '|}' end return p