From 4ba2fb1a045ccb9084f60def3b98341e59a2ee8c Mon Sep 17 00:00:00 2001 From: DYefremov Date: Sat, 12 Feb 2022 14:22:48 +0300 Subject: [PATCH] skip importing groups from m3u for Neutrino --- app/eparser/iptv.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/app/eparser/iptv.py b/app/eparser/iptv.py index 1a6b82cb..07d70082 100644 --- a/app/eparser/iptv.py +++ b/app/eparser/iptv.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2018-2021 Dmitriy Yefremov +# Copyright (c) 2018-2022 Dmitriy Yefremov # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -49,6 +49,11 @@ class StreamType(Enum): NONE_REC_2 = "5002" E_SERVICE_URI = "8193" E_SERVICE_HLS = "8739" + UNKNOWN = "0" + + @classmethod + def _missing_(cls, value): + return cls.UNKNOWN def parse_m3u(path, s_type, detect_encoding=True, params=None): @@ -76,6 +81,7 @@ def parse_m3u(path, s_type, detect_encoding=True, params=None): p_id = "1_0_1_0_0_0_0_0_0_0.png" st = BqServiceType.IPTV.name params = params or [0, 0, 0, 0] + m_name = BqServiceType.MARKER.name for line in str(data, encoding=encoding, errors="ignore").splitlines(): if line.startswith("#EXTINF"): @@ -88,20 +94,21 @@ def parse_m3u(path, s_type, detect_encoding=True, params=None): d = {data[i].lower().strip(" ="): data[i + 1] for i in range(0, len(data) - 1, 2)} picon = d.get("tvg-logo", None) - grp_name = d.get("group-title", None) - if grp_name not in groups: - groups.add(grp_name) - fav_id = MARKER_FORMAT.format(marker_counter, grp_name, grp_name) - marker_counter += 1 - mr = Service(None, None, None, grp_name, *aggr[0:3], BqServiceType.MARKER.name, *aggr, fav_id, None) - services.append(mr) + if s_type is SettingsType.ENIGMA_2: + grp_name = d.get("group-title", None) + if grp_name not in groups: + groups.add(grp_name) + fav_id = MARKER_FORMAT.format(marker_counter, grp_name, grp_name) + marker_counter += 1 + mr = Service(None, None, None, grp_name, *aggr[0:3], m_name, *aggr, fav_id, None) + services.append(mr) elif line.startswith("#EXTGRP") and s_type is SettingsType.ENIGMA_2: grp_name = line.strip("#EXTGRP:").strip() if grp_name not in groups: groups.add(grp_name) fav_id = MARKER_FORMAT.format(marker_counter, grp_name, grp_name) marker_counter += 1 - mr = Service(None, None, None, grp_name, *aggr[0:3], BqServiceType.MARKER.name, *aggr, fav_id, None) + mr = Service(None, None, None, grp_name, *aggr[0:3], m_name, *aggr, fav_id, None) services.append(mr) elif not line.startswith("#"): url = line.strip()