added basic support of cable services

This commit is contained in:
DYefremov
2018-11-25 19:34:28 +03:00
parent 9f9db9257e
commit cd1a3c5df2
4 changed files with 16 additions and 9 deletions

View File

@@ -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 Tests only with openATV image and Formuler F1 receiver in my preferred Linux distros
(latest Linux Mint 18.* and 19 MATE 64-bit)! (latest Linux Mint 18.* and 19 MATE 64-bit)!
**Terrestrial(DVB-T/T2) channels are supported with limitations (Enigma2 only)!** **Terrestrial(DVB-T/T2) and cable channels are supported(Enigma2 only) with limitation!**
**Cable channels at the moment are not supported!**

View File

@@ -174,10 +174,6 @@ def parse_services(services, transponders, path):
if transponder is not None: if transponder is not None:
tr_type, sp, tr = str(transponder).partition(" ") tr_type, sp, tr = str(transponder).partition(" ")
# Skipping terrestrial and cable channels
if tr_type == "c":
continue
tr = tr.split(_SEP) tr = tr.split(_SEP)
service_type = SERVICE_TYPE.get(data[4], SERVICE_TYPE["-2"]) service_type = SERVICE_TYPE.get(data[4], SERVICE_TYPE["-2"])
# removing all non printable symbols! # removing all non printable symbols!
@@ -186,6 +182,9 @@ def parse_services(services, transponders, path):
if tr_type == "t": if tr_type == "t":
system = "DVB-T" system = "DVB-T"
pos = "T" pos = "T"
elif tr_type == "c":
system = "CABLE"
pos = "C"
else: else:
system = "DVB-S2" if len(tr) > 7 else "DVB-S" system = "DVB-S2" if len(tr) > 7 else "DVB-S"
pos = "{}.{}".format(tr[4][:-1], tr[4][-1:]) pos = "{}.{}".format(tr[4][:-1], tr[4][-1:])

View File

@@ -1420,13 +1420,22 @@ class MainAppWindow:
self._sat_positions.clear() self._sat_positions.clear()
sat_positions = set() sat_positions = set()
terrestrial = False terrestrial = False
cable = False
for srv in self._services.values(): 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)) sat_positions.add(float(srv.pos))
elif srv.transponder_type == "t": elif tr_type == "t":
terrestrial = True terrestrial = True
elif tr_type == "c":
cable = True
if terrestrial: if terrestrial:
self._sat_positions.append("T") self._sat_positions.append("T")
if cable:
self._sat_positions.append("C")
self._sat_positions.extend(map(str, sorted(sat_positions))) self._sat_positions.extend(map(str, sorted(sat_positions)))
if self._filter_bar.is_visible(): if self._filter_bar.is_visible():
self.update_filter_sat_positions() self.update_filter_sat_positions()

View File

@@ -197,7 +197,7 @@ class ServiceDetailsDialog:
self.select_active_text(self._pol_combo_box, srv.pol) 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._fec_combo_box, srv.fec)
self.select_active_text(self._sys_combo_box, srv.system) 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() self.update_ui_for_terrestrial()
else: else:
self.set_sat_positions(srv.pos) self.set_sat_positions(srv.pos)