Difference between revisions of "Module:Category handler/shared"

From BESA® Wiki
Jump to: navigation, search
m (1 revision)
(move blacklist-matching function from Module:Category handler)
(6 intermediate revisions by one other user not shown)
Line 2: Line 2:
 
-- and its submodules.
 
-- and its submodules.
  
local p = {}
+
local blacklist = require('Module:Category handler/blacklist')
  
function p.matchesBlacklist(page, blacklist)
+
local function matchesBlacklist(page)
for i, pattern in ipairs(blacklist) do
+
    if type(page) ~= 'string' then return end
local match = mw.ustring.match(page, pattern)
+
    for i, pattern in ipairs(blacklist) do
if match then
+
        local match = mw.ustring.match(page, pattern)
return true
+
        if match then
end
+
            return match
end
+
        end
return false
+
    end
 
end
 
end
  
function p.getParamMappings(useLoadData)
+
return {
local dataPage = 'Module:Namespace detect/data'
+
matchesBlacklist = matchesBlacklist
if useLoadData then
+
}
return mw.loadData(dataPage).mappings
+
else
+
return require(dataPage).mappings
+
end
+
end
+
 
+
function p.getNamespaceParameters(titleObj, mappings)
+
-- We don't use title.nsText for the namespace name because it adds
+
-- underscores.
+
local mappingsKey
+
if titleObj.isTalkPage then
+
mappingsKey = 'talk'
+
else
+
mappingsKey = mw.site.namespaces[titleObj.namespace].name
+
end
+
mappingsKey = mw.ustring.lower(mappingsKey)
+
return mappings[mappingsKey] or {}
+
end
+
 
+
return p
+

Revision as of 01:46, 7 July 2014

Documentation for this module may be created at Module:Category handler/shared/doc

Script error: Lua error: Internal error: The interpreter exited with status 126.

-- This module contains shared functions used by [[Module:Category handler]]
-- and its submodules.

local blacklist = require('Module:Category handler/blacklist')

local function matchesBlacklist(page)
    if type(page) ~= 'string' then return end
    for i, pattern in ipairs(blacklist) do
        local match = mw.ustring.match(page, pattern)
        if match then
            return match
        end
    end
end

return {
	matchesBlacklist = matchesBlacklist
}