summaryrefslogtreecommitdiff
path: root/catalogue.lua
diff options
context:
space:
mode:
authorDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2026-02-04 09:11:45 -0800
committerDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2026-02-04 09:11:45 -0800
commit2fbe621881f0ac3d7f74d117bc7f6de404a9a882 (patch)
treec0d9f601fc220c0c909900d7bdf3d7cfe0bacdc4 /catalogue.lua
parent420e94b052f458a6b9eb14f9d6b01f6add17f68c (diff)
downloadmpv-iptv-menu-2fbe621881f0ac3d7f74d117bc7f6de404a9a882.tar.gz
mpv-iptv-menu-2fbe621881f0ac3d7f74d117bc7f6de404a9a882.tar.xz
implement section-specific data reloads
Diffstat (limited to 'catalogue.lua')
-rw-r--r--catalogue.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/catalogue.lua b/catalogue.lua
index 425dc17..7bd8eb0 100644
--- a/catalogue.lua
+++ b/catalogue.lua
@@ -70,6 +70,19 @@ function mt:add(entry)
return entry
end
+function mt:prune_children(entry, is_child)
+ for _, v in ipairs(entry.children) do
+ self.data[v.id] = nil
+ if v.children then
+ self:prune_children(v, true)
+ end
+ end
+
+ if not is_child then
+ entry.children = {}
+ end
+end
+
function mt:path_to_root(entry)
local path = {}