diff --git a/server.py b/server.py index a32c53e..b927bec 100644 --- a/server.py +++ b/server.py @@ -741,19 +741,20 @@ async def run_xtream_import(id_playlist, import_key, collection_channels, try: await emit_analysis_progress({'percentage': 0.02}, sidClient) - live_categories = parse_xtream_category_map( - fetch_xtream_json(xtream_server, xtream_username, xtream_password, 'get_live_categories') - ) - vod_categories = parse_xtream_category_map( - fetch_xtream_json(xtream_server, xtream_username, xtream_password, 'get_vod_categories') - ) - series_categories = parse_xtream_category_map( - fetch_xtream_json(xtream_server, xtream_username, xtream_password, 'get_series_categories') - ) + loop = asyncio.get_running_loop() - live_streams = fetch_xtream_json(xtream_server, xtream_username, xtream_password, 'get_live_streams') - vod_streams = fetch_xtream_json(xtream_server, xtream_username, xtream_password, 'get_vod_streams') - series_list = fetch_xtream_json(xtream_server, xtream_username, xtream_password, 'get_series') + async def fetch(action, **extra_params): + return await loop.run_in_executor( + None, lambda: fetch_xtream_json(xtream_server, xtream_username, xtream_password, action, **extra_params) + ) + + live_categories = parse_xtream_category_map(await fetch('get_live_categories')) + vod_categories = parse_xtream_category_map(await fetch('get_vod_categories')) + series_categories = parse_xtream_category_map(await fetch('get_series_categories')) + + live_streams = await fetch('get_live_streams') + vod_streams = await fetch('get_vod_streams') + series_list = await fetch('get_series') total_steps = max(1, len(live_streams) + len(vod_streams) + len(series_list)) processed_steps = 0