Editing Module:Namespace detect

From Guild of Archivists
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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
Please note that all contributions to Guild of Archivists may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see GoArch:Copyrights for details). Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)

Template used on this page: