local p =
local data = mw.loadJsonData("Module:Sandbox/Tollens/Contentious topics/data.json")
function p._normalizeCode(code) return data.names[string.lower(code)]end
function p._codeExists(code) return p._normalizeCode(code) ~= nilend
function p._scope(code) code = p._normalizeCode(code)
return code and data.details[code].scope or nilend
function p._link(code) code = p._normalizeCode(code)
return code and data.details[code].link or nilend
function p._topicSubpage(code) code = p._normalizeCode(code)
return code and data.details[code].topicSubpage or nilend
function p.list(frame) local args = frame:getParent.args
local request = nil local code = nil for k, v in pairs(args) do if request ~= nil then return "Only one argument is allowed (help)" end
request = k code = v end
if request
if request
"scope" then return p._scope(code) or "Invalid code (help)" elseif request
"topic-subpage" then return p._topicSubpage(code) or "Invalid code (help)" else return "Invalid argument (help)" endend
return p