Changes

Jump to: navigation, search

Module:Namespace detect/data

49 bytes removed, 10:02, 5 April 2014
bug fix - use the demospace parameter as both key and value in the argKeys table
end
local function getArgKeys() -- Returns Get a table of parameters to query for each default parameter name. -- This allows wikis to customise parameter names in the cfg table while -- ensuring that default parameter names will always work. The cfg table -- values can be added as a string, or as an array of strings. local argKeys defaultKeys = { main = { 'main'}, talk = { 'talk'}, other = { 'other'}, subjectns = { 'subjectns'}, 'demospace = {'demospace, 'demopage'}, page local argKeys = {'page'}for i, defaultKey in ipairs(defaultKeys) do argKeys[defaultKey] = {defaultKey} end for defaultKey, t in pairs(argKeys) do local cfgValue = cfg[defaultKey] local cfgValueType = type(cfgValue) if cfgValueType == 'string' then addKey(t, cfgValue, defaultKey) elseif cfgValueType == 'table' then for i, key in ipairs(cfgValue) do addKey(t, key, defaultKey) end
end
cfg[defaultKey] = nil -- Free the cfg value as we don't need it any more.
end
return argKeyscfg[defaultKey] = nil -- Free the cfg value as we don't need it any more.
end
-- }
--]]
local ustringLower = mw.ustring.lower
local tinsert = table.insert
local subjectNamespaces = mw.site.subjectNamespaces
local talk = cfg.talk
local mappings = {}
mappings[ustringLower(local mainNsName = mw.site.subjectNamespaces[0].name mainNsName = mw.ustring.lower(mainNsName) mappings[mainNsName] = {cfgmw.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.
local nsname = ustringLowermw.ustring.lower(ns.name) local canonicalName = ustringLowermw.ustring.lower(ns.canonicalName)
mappings[nsname] = {nsname}
if canonicalName ~= nsname then
tinserttable.insert(mappings[nsname], canonicalName)
end
for _, alias in ipairs(ns.aliases) do
tinserttable.insert(mappings[nsname], ustringLowermw.ustring.lower(alias))
end
end
return {
argKeys = getArgKeys()argKeys,
cfg = cfg,
mappings = getParamMappings()
}
Anonymous user

Navigation menu