From a774d41fdfd333fa0dd7ac1c558febe15638ea16 Mon Sep 17 00:00:00 2001 From: David Vazgenovich Shakaryan Date: Fri, 19 Dec 2025 16:54:46 -0800 Subject: request categories and streams from API --- xc.lua | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 10 deletions(-) (limited to 'xc.lua') diff --git a/xc.lua b/xc.lua index c7f311e..a934e42 100644 --- a/xc.lua +++ b/xc.lua @@ -15,28 +15,57 @@ function xc.new(t) end function mt:get(params) - local cmd = 'curl -sSfL \'' .. self.server .. '/player_api.php' .. + local url = self.server .. '/player_api.php' .. '?username=' .. self.user .. '&password=' .. self.pass for k, v in pairs(params) do - cmd = cmd .. '&' .. k .. '=' .. v + url = url .. '&' .. k .. '=' .. v end - cmd = cmd .. '\'' + local cmd = {'curl', '-sSfL', url} + print('querying ' .. url) - print('exec: ' .. cmd) - local fd = io.popen(cmd) - local json = fd:read('*all') - fd:close() - return mp_utils.parse_json(json) + local res = mp.command_native({ + name = 'subprocess', + args = cmd, + capture_stdout = true, + playback_only = false, + }) + if res.status == 0 then + return mp_utils.parse_json(res.stdout) + end end -function mt:get_series_info(id) - return self:get({action = 'get_series_info', series_id = id}) +function mt:get_live_categories() + return self:get({action = 'get_live_categories'}) +end + +function mt:get_live_streams() + return self:get({action = 'get_live_streams'}) +end + +function mt:get_vod_categories() + return self:get({action = 'get_vod_categories'}) +end + +function mt:get_vod_streams() + return self:get({action = 'get_vod_streams'}) end function mt:get_vod_info(id) return self:get({action = 'get_vod_info', vod_id = id}) end +function mt:get_series_categories() + return self:get({action = 'get_series_categories'}) +end + +function mt:get_series() + return self:get({action = 'get_series'}) +end + +function mt:get_series_info(id) + return self:get({action = 'get_series_info', series_id = id}) +end + function mt:stream_url(stream_type, stream_id) if stream_type == 'series' then return self.server .. '/series/' .. -- cgit v1.2.3-70-g09d2