Module:Namespace detect/data: Difference between revisions

From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
Content added Content deleted
(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)
(Undid revision 601018314 by Mr. Stradivarius (talk) looks like that broke something)
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 = {}
local mainNsName = mw.site.subjectNamespaces[0].name
mappings[ustringLower(subjectNamespaces[0].name)] = clone(argKeys.main)
mappings['talk'] = clone(argKeys.talk)
mainNsName = mw.ustring.lower(mainNsName)
for nsid, ns in pairs(subjectNamespaces) do
mappings[mainNsName] = mw.clone(argKeys.main)
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 = ns.name
local nsname = ustringLower(ns.name)
local canonicalName = ns.canonicalName
local canonicalName = ustringLower(ns.canonicalName)
mappings[nsname] = {mw.ustring.lower(nsname)}
mappings[nsname] = {nsname}
if canonicalName ~= nsname then
if canonicalName ~= nsname then
table.insert(mappings[nsname], mw.ustring.lower(canonicalName))
tinsert(mappings[nsname], canonicalName)
end
end
for _, alias in ipairs(ns.aliases) do
for _, alias in ipairs(ns.aliases) do
table.insert(mappings[nsname], mw.ustring.lower(alias))
tinsert(mappings[nsname], ustringLower(alias))
end
end
end
end