Module:ToolInventoryData
From Claremont MakerSpace
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 .. '||' .. data.status .. '\n|-\n' end return out .. '|}' end return p