Module:Namespace detect/data: Difference between revisions

From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
Content added Content deleted
(give the argKeys table global scope so that getParamMappings can access it without having to process the cfg table again)
(avoid using local variables to save table lookups per Jackmcbarn's suggestion, and because this will be cached with mw.loadData so performance of this function is not such a worry)
Line 52: Line 52:
-- }
-- }
--]]
--]]
local ustringLower = mw.ustring.lower
local tinsert = table.insert
local clone = mw.clone
local subjectNamespaces = mw.site.subjectNamespaces
local mappings = {}
local mappings = {}
mappings[ustringLower(subjectNamespaces[0].name)] = clone(argKeys.main)
local mainNsName = mw.site.subjectNamespaces[0].name
mainNsName = mw.ustring.lower(mainNsName)
mappings['talk'] = clone(argKeys.talk)
mappings[mainNsName] = mw.clone(argKeys.main)
for nsid, ns in pairs(subjectNamespaces) do
mappings['talk'] = mw.clone(argKeys.talk)
for nsid, ns in pairs(mw.site.subjectNamespaces) do
if nsid ~= 0 then -- Exclude main namespace.
if nsid ~= 0 then -- Exclude main namespace.
local nsname = ustringLower(ns.name)
local nsname = ns.name
local canonicalName = ustringLower(ns.canonicalName)
local canonicalName = ns.canonicalName
mappings[nsname] = {nsname}
mappings[nsname] = {mw.ustring.lower(nsname)}
if canonicalName ~= nsname then
if canonicalName ~= nsname then
tinsert(mappings[nsname], canonicalName)
table.insert(mappings[nsname], mw.ustring.lower(canonicalName))
end
end
for _, alias in ipairs(ns.aliases) do
for _, alias in ipairs(ns.aliases) do
tinsert(mappings[nsname], ustringLower(alias))
table.insert(mappings[nsname], mw.ustring.lower(alias))
end
end
end
end