Module:Namespace detect/data: Difference between revisions
Undid revision 601018314 by Mr. Stradivarius (talk) looks like that broke something
m>Mr. Stradivarius (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) |
m>Mr. Stradivarius (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 = {} | ||
mappings[ustringLower(subjectNamespaces[0].name)] = clone(argKeys.main) | |||
mappings['talk'] = clone(argKeys.talk) | |||
for nsid, ns in pairs(subjectNamespaces) do | |||
mappings['talk'] = | |||
for nsid, ns in pairs( | |||
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] = { | mappings[nsname] = {nsname} | ||
if canonicalName ~= nsname then | if canonicalName ~= nsname then | ||
tinsert(mappings[nsname], canonicalName) | |||
end | end | ||
for _, alias in ipairs(ns.aliases) do | for _, alias in ipairs(ns.aliases) do | ||
tinsert(mappings[nsname], ustringLower(alias)) | |||
end | end | ||
end | end |