Revision 43827 of "မဝ်ဂျူ:category tree/poscatboiler/data" on mnwwiktionarylocal labels = {}
local raw_categories = {}
local handlers = {}
local raw_handlers = {}
local subpages = {
--"အက္ခရ်", --characters
"စရင်မင်မွဲထိင်လဝ်", --entry maintenance
--"ဝံသ-ဘာသာဂကောံ", --families
"ဗီုရုပ်ဂၞက်", --figures of speech
--"အရေဝ်ဘာသာသာ်သာ်", --lang-specific
--"ဘာသာ", --languages
"ဝေါဟာအဓိက", --lemmas
"နာနာပတ္တာရ", --miscellaneous
--"มอดูล", --modules
"ชื่อ", --names
"รูปผัน", --non-lemma forms
"วลี", --phrases
"สัมผัส", --rhymes
--"อักษร", --scripts
"การย่อ", --shortenings
"สัญลักษณ์", --symbols
"แม่แบบ", --templates
"ศัพท์แบ่งตามรากศัพท์", --terms by etymology
"ศัพท์แบ่งตามประเภทไวยากรณ์", --terms by grammatical category
"ศัพท์แบ่งตามสมบัติ", --terms by lexical property
"ศัพท์แบ่งตามหน้าที่เชิงความหมาย", --terms by semantic function
--"ศัพท์แบ่งตามอักษร", --terms by script
"ศัพท์แบ่งตามการใช้", --terms by usage
--"การถอดอักษร", --transliterations
--"ยูนิโคด", --unicode
--"ศัพท์ประจำวัน", --word of the day โครงการนี้ไม่ใช้
"ศัพท์แบ่งตามจำนวนพยางค์", --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"] and not retval["RAW_CATEGORIES"] and not retval["HANDLERS"] and not retval["RAW_HANDLERS"] then
retval = {LABELS = retval}
end
if retval["LABELS"] then
for key, data in pairs(retval["LABELS"]) do
assert(not labels[key], "Duplicate label: " .. key)
data.module = datamodule
labels[key] = data
end
end
if retval["RAW_CATEGORIES"] then
for key, data in pairs(retval["RAW_CATEGORIES"]) do
assert(not raw_categories[key], "Duplicate raw category: " .. key)
data.module = datamodule
raw_categories[key] = data
end
end
if retval["HANDLERS"] then
for _, handler in ipairs(retval["HANDLERS"]) do
table.insert(handlers, { module = datamodule, handler = handler })
end
end
if retval["RAW_HANDLERS"] then
for _, handler in ipairs(retval["RAW_HANDLERS"]) do
table.insert(raw_handlers, { module = datamodule, handler = handler })
end
end
end
-- Add child categories to their parents
local function add_children_to_parents(hierarchy, raw)
for key, data in pairs(hierarchy) do
local parents = data.parents
if parents then
if type(parents) ~= "table" then
parents = {parents}
end
if parents.name or parents.module then
parents = {parents}
end
for _, parent in ipairs(parents) do
if type(parent) ~= "table" or not parent.name and not parent.module then
parent = {name = parent}
end
if parent.name and not parent.module and type(parent.name) == "string" and not parent.name:find("^หมวดหมู่:") then
local child_is_raw
if raw then
child_is_raw = not parent.is_label
else
child_is_raw = parent.raw
end
local child_hierarchy = child_is_raw and raw_categories or labels
if child_hierarchy[parent.name] then
local child = {name = key, sort = parent.sort, raw = raw}
if child_hierarchy[parent.name].children then
table.insert(child_hierarchy[parent.name].children, child)
else
child_hierarchy[parent.name].children = {child}
end
end
end
end
end
end
end
add_children_to_parents(labels)
add_children_to_parents(raw_categories, true)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers, RAW_HANDLERS = raw_handlers}All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://mnw.wiktionary.org/w/index.php?oldid=43827.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|