Module:ToolInventoryData: Difference between revisions
From Claremont MakerSpace
(Switch back to status label name) |
(Use native lua functions introduced in ExternalData 2.2) |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
function p.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 | ||
Line 22: | Line 20: | ||
do | do | ||
local data = getToolInfo(asset_tag) | 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..']' | local link ='[https://inventory.claremontmakerspace.org/hardware/bytag?assetTag='..asset_tag..' '..asset_tag..']' | ||
out = out .. '|' .. link .. '||' .. data.status .. '\n|-\n' | out = out .. '|' .. link .. '||' .. data.status .. '\n|-\n' |
Revision as of 05:27, 3 August 2021
Documentation for this module may be created at Module:ToolInventoryData/doc
local p = {} function p.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 .. '||' .. data.status .. '\n|-\n' end return out .. '|}' end return p