Модуль:namespace
Documentation for this module may be created at Модуль:namespace/doc
local export = {}
local function check(arg, what, n, allow_empty)
arg = mw.text.trim(arg)
if not allow_empty and arg == "" then
arg = nil
end
if not arg then
error("Supply a " .. what .. " as argument " .. n)
end
return arg
end
local function get_info(namespace_name_or_id, item)
local namespace = mw.site.namespaces[namespace_name_or_id]
if namespace == nil then
error("Invalid namespace name or id " .. namespace_name_or_id)
end
local datum = namespace[item]
if datum == nil then
error("Invalid data item " .. item)
end
return datum
end
function export.info(frame)
local namespace_name_or_id = check(frame.args[1], "namespace", 1, true)
if not namespace_name_or_id then
error("Supply a namespace as argument 1")
end
namespace_name_or_id = tonumber(namespace_name_or_id) or namespace_name_or_id
local item = check(frame.args[2], "item to look up", 1)
local datum = get_info(namespace_name_or_id, item)
if type(datum) == "boolean" then
return datum and "1" or ""
elseif not (type(datum) == "string" or type(datum) == "number") then
error("Unimplemented")
end
end
return export