Module:category tree/poscatboiler/data
Dokumentasie vir hierdie module kan geskep word by: Module:category tree/poscatboiler/data/doc
local labels = {}
local handlers = {}
local subpages = {
"entry maintenance",
"figures of speech",
"lemmas",
"miscellaneous",
"names",
"nie-lemmavorme",
"phrases",
"rhymes",
"shortenings",
"symbols",
"templates",
"terme volgens etimologie",
"terme volgens leksikale eienskap",
"terms by semantic function",
"terms by script",
"terms by usage",
"words by number of syllables",
}
-- Import subpages
for _, subpage in ipairs(subpages) do
local datamodule = "Module:category tree/poscatboiler/data/" .. subpage
local retval = require(datamodule)
if not retval["LABELS"] then
retval = {LABELS = retval}
end
for key, data in pairs(retval["LABELS"]) do
assert(not labels[key], "Duplicate label: " .. key)
data.edit = datamodule
labels[key] = data
end
if retval["HANDLERS"] then
for _, handler in ipairs(retval["HANDLERS"]) do
table.insert(handlers, { module = datamodule, handler = handler })
end
end
end
-- Add child categories to their parents
for key, data in pairs(labels) do
if data.parents then
for _, parent in ipairs(data.parents) do
if type(parent) == "table" then
if parent.name and not parent.template and not parent.name:find("^Kategorie:") then
if labels[parent.name].children then
table.insert(labels[parent.name].children, {name = key, sort = parent.sort})
else
labels[parent.name].children = {{name = key, sort = parent.sort}}
end
end
else
if not parent:find("^Kategorie:") and labels[parent] then
if labels[parent].children then
table.insert(labels[parent].children, key)
else
labels[parent].children = {key}
end
end
end
end
end
end
return {LABELS = labels, HANDLERS = handlers}