Naar inhoud springen

Module:Category handler/shared

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door en>Mr. Stradivarius op 8 jul 2014 om 02:26. (return the right key in talk space, and don't copy the table; instead, create a new wrapper function that can load the mappings with either require or mw.loadData)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.

Documentatie voor deze module kan aangemaakt worden op de volgende pagina: Module:Category handler/shared/doc

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

local p = {}

function p.matchesBlacklist(page, blacklist)
	for i, pattern in ipairs(blacklist) do
		local match = mw.ustring.match(page, pattern)
		if match then
			return true
		end
	end
	return false
end

function p.getParamMappings(useLoadData)
	local dataPage = 'Module:Namespace detect/data'
	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