Module:User/JsonProbe
Jump to navigation
Jump to search
Documentation for this module may be created at Module:User/JsonProbe/doc
local p = {} local function hasLuaJson() return type(mw.ext) == 'table' and type(mw.ext.data) == 'table' and type(mw.ext.data.get) == 'function' end function p.run() if hasLuaJson() then return 'JsonConfig Lua: OK' else return 'JsonConfig Lua: MISSING (no mw.ext.data.get)' end end function p.fetch() if not hasLuaJson() then return 'JsonConfig Lua: MISSING (no mw.ext.data.get)' end -- Try both title forms (spaces vs underscores) local name1 = 'CS1/Identifier limits.tab' local name2 = 'CS1/Identifier_limits.tab' local function tryGet(name) return pcall(function() return mw.ext.data.get(name) end) end -- First attempt local ok, res = tryGet(name1) if not ok or type(res) ~= 'table' or type(res.data) ~= 'table' then -- Second attempt ok, res = tryGet(name2) end if not ok then return 'pcall error: ' .. tostring(res) end if type(res) == 'table' and type(res.data) == 'table' then return 'Commons Data reachable: rows=' .. tostring(#res.data) else return 'mw.ext.data.get returned type: ' .. tostring(type(res)) end end return p