Module:Namespace detect/data: Difference between revisions
Undid revision 600634263 by Jackmcbarn (talk): Oh, this seems to have been for performance. Still not sure if it's a good idea, but will leave for now
m>Jackmcbarn (IMO, aliasing variables like that makes readability worse) |
m>Jackmcbarn (Undid revision 600634263 by Jackmcbarn (talk): Oh, this seems to have been for performance. Still not sure if it's a good idea, but will leave for now) |
||
Line 19: | Line 19: | ||
-- } | -- } | ||
--]] | --]] | ||
local ustringLower = mw.ustring.lower | |||
local tinsert = table.insert | |||
local subjectNamespaces = mw.site.subjectNamespaces | |||
local talk = cfg.talk | |||
local mappings = {} | local mappings = {} | ||
mappings[ | mappings[ustringLower(subjectNamespaces[0].name)] = {cfg.main} | ||
mappings[ | mappings[talk] = {talk} | ||
for nsid, ns in pairs( | for nsid, ns in pairs(subjectNamespaces) do | ||
if nsid ~= 0 then -- Exclude main namespace. | if nsid ~= 0 then -- Exclude main namespace. | ||
local nsname = | local nsname = ustringLower(ns.name) | ||
local canonicalName = | local canonicalName = ustringLower(ns.canonicalName) | ||
mappings[nsname] = {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 |