diff options
| author | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2026-02-03 22:42:26 -0800 |
|---|---|---|
| committer | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2026-02-03 22:42:26 -0800 |
| commit | 554e833b1a39ede9aef234449fc8992435f10751 (patch) | |
| tree | 3b5e7cf0077c6b758eafd76a97bfc81f5ba15145 /config.lua | |
| parent | 6cc548c27470b81114412f3ecd74380894eba72e (diff) | |
| download | mpv-iptv-menu-554e833b1a39ede9aef234449fc8992435f10751.tar.gz mpv-iptv-menu-554e833b1a39ede9aef234449fc8992435f10751.tar.xz | |
support multiple sources
Diffstat (limited to 'config.lua')
| -rw-r--r-- | config.lua | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -81,22 +81,40 @@ local f = io.open( mp.command_native( {'expand-path', '~~/script-opts/' .. script_name .. '.conf'}), 'r') +config.src_order = {} +local conf_srcs = {} if f then for line in f:lines() do if #line > 0 then local k = line:match('^([^=]*)=') opts[k] = opts[k] or '' + + local src = k:match('^src%.([^.]*)%.') + if src and not conf_srcs[src] then + config.src_order[#config.src_order+1] = src + conf_srcs[src] = true + end end end f:close() end for k, v in pairs(mp.get_property_native('script-opts')) do if k:find(script_name .. '-', 1, true) == 1 then - local pk = k:sub(#script_name + 2) - opts[pk] = opts[pk] or '' + local k = k:sub(#script_name + 2) + opts[k] = opts[k] or '' end end mp_options.read_options(opts) util.unflatten_table(opts, config) +local cli_srcs = {} +for src in pairs(config.src or {}) do + if not conf_srcs[src] then + cli_srcs[#cli_srcs+1] = src + end +end +table.sort(cli_srcs) +for _, src in ipairs(cli_srcs) do + config.src_order[#config.src_order+1] = src +end return config |
