Module:Data
MyWikiBiz, Author Your Legacy — Wednesday December 25, 2024
Jump to navigationJump to searchTemplate:High-risk Template:Module rating
This module allows wikitext to read values from data modules.
Usage
{{#invoke:Data|Module:ModuleName|key1|key2|key3|...}}
Read data value key1.key2.key3 from Module:ModuleName.
local mt = {} function mt.__index(t, k) return function(frame) local data = mw.loadData(k) local i = 1 for _,v in ipairs(frame.args) do local ty = type(data) if ty ~= 'table' then local args = {} for j = 1, i - 1 do args[j] = frame.args[j] end if frame.args.softfail then return '<span class="error">[[Category:Pages with failed Module:Data lookups]]Error: Tried to read index "' .. mw.text.nowiki(v) .. '" of mw.loadData("' .. mw.text.nowiki(k) .. '").' .. mw.text.nowiki(table.concat(args, '.')) .. ', which is a ' .. ty .. '</span>' else error('Tried to read index "' .. v .. '" of mw.loadData("' .. k .. '").' .. table.concat(args, '.') .. ', which is a ' .. ty) end end data = data[v] i = i + 1 end return data end end return setmetatable({}, mt)