Editing Module:Namespace detect
From Guild of Archivists
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 14: | Line 14: | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
--]] | --]] | ||
local data = mw.loadData('Module:Namespace detect/data') | local data = mw.loadData('Module:Namespace detect/data') | ||
local argKeys = data.argKeys | local argKeys = data.argKeys | ||
local cfg = data.cfg | local cfg = data.cfg | ||
local mappings = data.mappings | local mappings = data.mappings | ||
local yesno = require('Module:Yesno') | local yesno = require('Module:Yesno') | ||
local mArguments -- Lazily initialise Module:Arguments | local mArguments -- Lazily initialise Module:Arguments | ||
local mTableTools -- Lazily initilalise Module:TableTools | local mTableTools -- Lazily initilalise Module:TableTools | ||
local ustringLower = mw.ustring.lower | local ustringLower = mw.ustring.lower | ||
local p = {} | local p = {} | ||
local function fetchValue(t1, t2) | local function fetchValue(t1, t2) | ||
-- Fetches a value from the table t1 for the first key in array t2 where | -- Fetches a value from the table t1 for the first key in array t2 where | ||
Line 38: | Line 38: | ||
return nil | return nil | ||
end | end | ||
local function equalsArrayValue(t, value) | local function equalsArrayValue(t, value) | ||
-- Returns true if value equals a value in the array t. Otherwise | -- Returns true if value equals a value in the array t. Otherwise | ||
Line 49: | Line 49: | ||
return false | return false | ||
end | end | ||
function p.getPageObject(page) | function p.getPageObject(page) | ||
-- Get the page object, passing the function through pcall in case of | -- Get the page object, passing the function through pcall in case of | ||
Line 64: | Line 64: | ||
end | end | ||
end | end | ||
-- Provided for backward compatibility with other modules | -- Provided for backward compatibility with other modules | ||
function p.getParamMappings() | function p.getParamMappings() | ||
return mappings | return mappings | ||
end | end | ||
local function getNamespace(args) | local function getNamespace(args) | ||
-- This function gets the namespace name from the page object. | -- This function gets the namespace name from the page object. | ||
Line 110: | Line 110: | ||
return ustringLower(ret) | return ustringLower(ret) | ||
end | end | ||
function p._main(args) | function p._main(args) | ||
-- Check the parameters stored in the mappings table for any matches. | -- Check the parameters stored in the mappings table for any matches. | ||
Line 128: | Line 128: | ||
return ret | return ret | ||
end | end | ||
function p.main(frame) | function p.main(frame) | ||
mArguments = require('Module:Arguments') | mArguments = require('Module:Arguments') | ||
Line 135: | Line 135: | ||
return ret or '' | return ret or '' | ||
end | end | ||
function p.table(frame) | function p.table(frame) | ||
--[[ | --[[ | ||
Line 142: | Line 142: | ||
-- needs to be excluded in the documentation. | -- needs to be excluded in the documentation. | ||
--]] | --]] | ||
-- Load modules and initialise variables. | -- Load modules and initialise variables. | ||
mTableTools = require('Module:TableTools') | mTableTools = require('Module:TableTools') | ||
Line 150: | Line 150: | ||
and type(frame.args) == 'table' | and type(frame.args) == 'table' | ||
and yesno(frame.args.talk) -- Whether to use the talk parameter. | and yesno(frame.args.talk) -- Whether to use the talk parameter. | ||
-- Get the header names. | -- Get the header names. | ||
local function checkValue(value, default) | local function checkValue(value, default) | ||
Line 161: | Line 161: | ||
local nsHeader = checkValue(cfg.wikitableNamespaceHeader, 'Namespace') | local nsHeader = checkValue(cfg.wikitableNamespaceHeader, 'Namespace') | ||
local aliasesHeader = checkValue(cfg.wikitableAliasesHeader, 'Aliases') | local aliasesHeader = checkValue(cfg.wikitableAliasesHeader, 'Aliases') | ||
-- Put the namespaces in order. | -- Put the namespaces in order. | ||
local mappingsOrdered = {} | local mappingsOrdered = {} | ||
Line 173: | Line 173: | ||
end | end | ||
mappingsOrdered = mTableTools.compressSparseArray(mappingsOrdered) | mappingsOrdered = mTableTools.compressSparseArray(mappingsOrdered) | ||
-- Build the table. | -- Build the table. | ||
local ret = '{| class="wikitable"' | local ret = '{| class="wikitable"' | ||
Line 196: | Line 196: | ||
return ret | return ret | ||
end | end | ||
return p | return p |