diff --git a/README.md b/README.md index 069f2c0a..7056831c 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,6 @@ To create a simple debian package, you can use the *build-deb.sh.* Tests only with openATV image and Formuler F1 receiver in my preferred Linux distros (latest Linux Mint 18.* and 19 MATE 64-bit)! -**Terrestrial(DVB-T/T2) channels are supported with limitations (Enigma2 only)!** -**Cable channels at the moment are not supported!** +**Terrestrial(DVB-T/T2) and cable channels are supported(Enigma2 only) with limitation!** diff --git a/app/eparser/enigma/lamedb.py b/app/eparser/enigma/lamedb.py index 013733fa..de1cbe0d 100644 --- a/app/eparser/enigma/lamedb.py +++ b/app/eparser/enigma/lamedb.py @@ -174,10 +174,6 @@ def parse_services(services, transponders, path): if transponder is not None: tr_type, sp, tr = str(transponder).partition(" ") - # Skipping terrestrial and cable channels - if tr_type == "c": - continue - tr = tr.split(_SEP) service_type = SERVICE_TYPE.get(data[4], SERVICE_TYPE["-2"]) # removing all non printable symbols! @@ -186,6 +182,9 @@ def parse_services(services, transponders, path): if tr_type == "t": system = "DVB-T" pos = "T" + elif tr_type == "c": + system = "CABLE" + pos = "C" else: system = "DVB-S2" if len(tr) > 7 else "DVB-S" pos = "{}.{}".format(tr[4][:-1], tr[4][-1:]) diff --git a/app/ui/main_app_window.py b/app/ui/main_app_window.py index c9308681..5eb64ce4 100644 --- a/app/ui/main_app_window.py +++ b/app/ui/main_app_window.py @@ -1420,13 +1420,22 @@ class MainAppWindow: self._sat_positions.clear() sat_positions = set() terrestrial = False + cable = False + for srv in self._services.values(): - if srv.transponder_type == "s" and srv.pos: + tr_type = srv.transponder_type + if tr_type == "s" and srv.pos: sat_positions.add(float(srv.pos)) - elif srv.transponder_type == "t": + elif tr_type == "t": terrestrial = True + elif tr_type == "c": + cable = True + if terrestrial: self._sat_positions.append("T") + if cable: + self._sat_positions.append("C") + self._sat_positions.extend(map(str, sorted(sat_positions))) if self._filter_bar.is_visible(): self.update_filter_sat_positions() diff --git a/app/ui/service_details_dialog.py b/app/ui/service_details_dialog.py index 90f6bd8f..ad1a5029 100644 --- a/app/ui/service_details_dialog.py +++ b/app/ui/service_details_dialog.py @@ -197,7 +197,7 @@ class ServiceDetailsDialog: self.select_active_text(self._pol_combo_box, srv.pol) self.select_active_text(self._fec_combo_box, srv.fec) self.select_active_text(self._sys_combo_box, srv.system) - if tr_type == "t" and self._profile is Profile.ENIGMA_2: + if tr_type in "tc" and self._profile is Profile.ENIGMA_2: self.update_ui_for_terrestrial() else: self.set_sat_positions(srv.pos)