mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-05-07 06:36:55 +02:00
changed format for freq, sr and pol columns
This commit is contained in:
@@ -105,11 +105,11 @@ class LameDbReader:
|
|||||||
services_list = []
|
services_list = []
|
||||||
blacklist = get_blacklist(self._path) if self._path else {}
|
blacklist = get_blacklist(self._path) if self._path else {}
|
||||||
srvs = self.split(services, 3)
|
srvs = self.split(services, 3)
|
||||||
if srvs[0][0] == "": # remove first empty element
|
if srvs[0][0] == "": # Remove first empty element.
|
||||||
srvs.remove(srvs[0])
|
srvs.remove(srvs[0])
|
||||||
|
|
||||||
for srv in srvs:
|
for srv in srvs:
|
||||||
data_id = str(srv[0]).lower() # lower is for lamedb ver.3
|
data_id = str(srv[0]).lower() # Lower is for lamedb ver.3.
|
||||||
data = data_id.split(_SEP)
|
data = data_id.split(_SEP)
|
||||||
sp = "0"
|
sp = "0"
|
||||||
tid = data[2]
|
tid = data[2]
|
||||||
@@ -157,6 +157,8 @@ class LameDbReader:
|
|||||||
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!
|
||||||
srv_name = "".join(c for c in srv[1] if c.isprintable())
|
srv_name = "".join(c for c in srv[1] if c.isprintable())
|
||||||
|
freq = tr[0]
|
||||||
|
rate = tr[1]
|
||||||
pol = None
|
pol = None
|
||||||
fec = None
|
fec = None
|
||||||
system = None
|
system = None
|
||||||
@@ -166,7 +168,7 @@ class LameDbReader:
|
|||||||
pol = POLARIZATION.get(tr[2], None)
|
pol = POLARIZATION.get(tr[2], None)
|
||||||
fec = FEC.get(tr[3], None)
|
fec = FEC.get(tr[3], None)
|
||||||
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 = tr[4]
|
||||||
if tr_type is TrType.Terrestrial:
|
if tr_type is TrType.Terrestrial:
|
||||||
system = T_SYSTEM.get(tr[9], None)
|
system = T_SYSTEM.get(tr[9], None)
|
||||||
pos = "T"
|
pos = "T"
|
||||||
@@ -176,26 +178,20 @@ class LameDbReader:
|
|||||||
pos = "C"
|
pos = "C"
|
||||||
fec = FEC_DEFAULT.get(tr[4])
|
fec = FEC_DEFAULT.get(tr[4])
|
||||||
|
|
||||||
services_list.append(Service(flags_cas=srv[2],
|
# Formatting displayed values.
|
||||||
transponder_type=tr_type.value,
|
try:
|
||||||
coded=coded,
|
freq = "{}".format(int(freq) // 1000)
|
||||||
service=srv_name,
|
rate = "{}".format(int(rate) // 1000)
|
||||||
locked=locked,
|
if tr_type is TrType.Satellite:
|
||||||
hide=hide,
|
pos = int(pos)
|
||||||
package=package,
|
pos = "{:0.1f}{}".format(abs(pos / 10), "W" if pos < 0 else "E")
|
||||||
service_type=service_type,
|
except ValueError as e:
|
||||||
picon=None,
|
log("Parse error [parse_services]: {}".format(e))
|
||||||
picon_id=picon_id,
|
|
||||||
ssid=data[0],
|
s = Service(srv[2], tr_type.value, coded, srv_name, locked, hide, package, service_type, None,
|
||||||
freq=tr[0],
|
picon_id, data[0], freq, rate, pol, fec, system, pos, data_id, fav_id, transponder)
|
||||||
rate=tr[1],
|
|
||||||
pol=pol,
|
services_list.append(s)
|
||||||
fec=fec,
|
|
||||||
system=system,
|
|
||||||
pos=pos,
|
|
||||||
data_id=data_id,
|
|
||||||
fav_id=fav_id,
|
|
||||||
transponder=transponder))
|
|
||||||
return services_list
|
return services_list
|
||||||
|
|
||||||
def get_services_list(self, data):
|
def get_services_list(self, data):
|
||||||
|
|||||||
@@ -89,11 +89,8 @@ def parse_webtv(path, name, bq_type):
|
|||||||
group = group.value if group else group
|
group = group.value if group else group
|
||||||
fav_id = NEUTRINO_FAV_ID_FORMAT.format(url, description, urlkey, account, usrname, psw, s_type, iconsrc,
|
fav_id = NEUTRINO_FAV_ID_FORMAT.format(url, description, urlkey, account, usrname, psw, s_type, iconsrc,
|
||||||
iconsrc_b, group)
|
iconsrc_b, group)
|
||||||
srv = BouquetService(name=title,
|
services.append(BouquetService(name=title, type=BqServiceType.IPTV, data=fav_id, num=0))
|
||||||
type=BqServiceType.IPTV,
|
|
||||||
data=fav_id,
|
|
||||||
num=0)
|
|
||||||
services.append(srv)
|
|
||||||
bouquet = Bouquet(name="default", type=bq_type, services=services, locked=None, hidden=None)
|
bouquet = Bouquet(name="default", type=bq_type, services=services, locked=None, hidden=None)
|
||||||
bouquets[2].append(bouquet)
|
bouquets[2].append(bouquet)
|
||||||
|
|
||||||
@@ -125,14 +122,15 @@ def write_bouquet(file, bouquet):
|
|||||||
root.appendChild(bq_elem)
|
root.appendChild(bq_elem)
|
||||||
|
|
||||||
for srv in bq.services:
|
for srv in bq.services:
|
||||||
|
f_data = srv.flags_cas.split(":")
|
||||||
tr_id, on, ssid = srv.fav_id.split(":")
|
tr_id, on, ssid = srv.fav_id.split(":")
|
||||||
srv_elem = doc.createElement("S")
|
srv_elem = doc.createElement("S")
|
||||||
srv_elem.setAttribute("i", ssid)
|
srv_elem.setAttribute("i", ssid)
|
||||||
srv_elem.setAttribute("n", srv.service)
|
srv_elem.setAttribute("n", srv.service)
|
||||||
srv_elem.setAttribute("t", tr_id)
|
srv_elem.setAttribute("t", tr_id)
|
||||||
srv_elem.setAttribute("on", on)
|
srv_elem.setAttribute("on", on)
|
||||||
srv_elem.setAttribute("s", srv.pos.replace(".", ""))
|
srv_elem.setAttribute("s", f_data[1])
|
||||||
srv_elem.setAttribute("frq", srv.freq[:-3])
|
srv_elem.setAttribute("frq", srv.freq)
|
||||||
srv_elem.setAttribute("l", "0") # temporary !!!
|
srv_elem.setAttribute("l", "0") # temporary !!!
|
||||||
bq_elem.appendChild(srv_elem)
|
bq_elem.appendChild(srv_elem)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from xml.dom.minidom import parse, Document
|
from xml.dom.minidom import parse, Document
|
||||||
|
|
||||||
|
from app.commons import log
|
||||||
from ..ecommons import Service, POLARIZATION, FEC, SYSTEM, SERVICE_TYPE, PROVIDER
|
from ..ecommons import Service, POLARIZATION, FEC, SYSTEM, SERVICE_TYPE, PROVIDER
|
||||||
|
|
||||||
_FILE = "services.xml"
|
_FILE = "services.xml"
|
||||||
@@ -28,7 +29,7 @@ def write_services(path, services):
|
|||||||
tr_atr = sat.split(":")
|
tr_atr = sat.split(":")
|
||||||
sat_elem = doc.createElement("sat")
|
sat_elem = doc.createElement("sat")
|
||||||
sat_elem.setAttribute("name", tr_atr[0])
|
sat_elem.setAttribute("name", tr_atr[0])
|
||||||
sat_elem.setAttribute("position", tr_atr[1].replace(".", ""))
|
sat_elem.setAttribute("position", tr_atr[1])
|
||||||
sat_elem.setAttribute("diseqc", tr_atr[2])
|
sat_elem.setAttribute("diseqc", tr_atr[2])
|
||||||
sat_elem.setAttribute("uncommited", tr_atr[3])
|
sat_elem.setAttribute("uncommited", tr_atr[3])
|
||||||
root.appendChild(sat_elem)
|
root.appendChild(sat_elem)
|
||||||
@@ -88,7 +89,6 @@ def parse_services(path):
|
|||||||
if elem.hasAttributes():
|
if elem.hasAttributes():
|
||||||
sat_name = elem.attributes["name"].value
|
sat_name = elem.attributes["name"].value
|
||||||
sat_pos = elem.attributes["position"].value
|
sat_pos = elem.attributes["position"].value
|
||||||
sat_pos = "{}.{}".format(sat_pos[:-1], sat_pos[-1:])
|
|
||||||
diseqc = elem.attributes.get("diseqc")
|
diseqc = elem.attributes.get("diseqc")
|
||||||
diseqc = diseqc.value if diseqc else diseqc
|
diseqc = diseqc.value if diseqc else diseqc
|
||||||
uncommited = elem.attributes.get("uncommited")
|
uncommited = elem.attributes.get("uncommited")
|
||||||
@@ -117,6 +117,15 @@ def parse_transponder(api, sat, sat_pos, services, tr_elem):
|
|||||||
|
|
||||||
tr = "{}:{}:{}:{}:{}:{}:{}:{}:{}".format(tr_id, on, freq, inv, rate, fec, pol, mod, sys)
|
tr = "{}:{}:{}:{}:{}:{}:{}:{}:{}".format(tr_id, on, freq, inv, rate, fec, pol, mod, sys)
|
||||||
tr_id = tr_id.lstrip("0")
|
tr_id = tr_id.lstrip("0")
|
||||||
|
pol = POLARIZATION.get(pol)
|
||||||
|
# Formatting displayed values.
|
||||||
|
try:
|
||||||
|
freq = "{}".format(int(freq) // 1000)
|
||||||
|
rate = "{}".format(int(rate) // 1000)
|
||||||
|
sat_pos = int(sat_pos)
|
||||||
|
sat_pos = "{:0.1f}{}".format(abs(sat_pos / 10), "W" if sat_pos < 0 else "E")
|
||||||
|
except ValueError as e:
|
||||||
|
log("Neutrino parsing error [parse_transponder]: {}".format(e))
|
||||||
|
|
||||||
for srv_elem in tr_elem.getElementsByTagName("S"):
|
for srv_elem in tr_elem.getElementsByTagName("S"):
|
||||||
if srv_elem.hasAttributes():
|
if srv_elem.hasAttributes():
|
||||||
@@ -141,27 +150,10 @@ def parse_transponder(api, sat, sat_pos, services, tr_elem):
|
|||||||
data_id = "{}:{}:{}:{}:{}:{}:{}:{}:{}:{}:{}".format(api, srv_type, sys, num, f, v, a, p, pmt, tx, vt)
|
data_id = "{}:{}:{}:{}:{}:{}:{}:{}:{}:{}:{}".format(api, srv_type, sys, num, f, v, a, p, pmt, tx, vt)
|
||||||
fav_id = "{}:{}:{}".format(tr_id, on.lstrip("0"), ssid.lstrip("0"))
|
fav_id = "{}:{}:{}".format(tr_id, on.lstrip("0"), ssid.lstrip("0"))
|
||||||
picon_id = "{}{}{}.png".format(tr_id, on, ssid)
|
picon_id = "{}{}{}.png".format(tr_id, on, ssid)
|
||||||
|
prv, st, = PROVIDER.get(int(on, 16)), SERVICE_TYPE.get(str(int(srv_type, 16)), SERVICE_TYPE.get("-2"))
|
||||||
|
|
||||||
srv = Service(flags_cas=sat,
|
srv = Service(sat, None, None, name, None, None, prv, st, None, picon_id, ssid, freq, rate, pol,
|
||||||
transponder_type=None,
|
FEC.get(fec), SYSTEM.get(sys), sat_pos, data_id, fav_id, tr)
|
||||||
coded=None,
|
|
||||||
service=name,
|
|
||||||
locked=None,
|
|
||||||
hide=None,
|
|
||||||
package=PROVIDER.get(int(on, 16)),
|
|
||||||
service_type=SERVICE_TYPE.get(str(int(srv_type, 16))),
|
|
||||||
picon=None,
|
|
||||||
picon_id=picon_id,
|
|
||||||
ssid=ssid,
|
|
||||||
freq=freq,
|
|
||||||
rate=rate,
|
|
||||||
pol=POLARIZATION.get(pol),
|
|
||||||
fec=FEC.get(fec),
|
|
||||||
system=SYSTEM.get(sys),
|
|
||||||
pos=sat_pos,
|
|
||||||
data_id=data_id,
|
|
||||||
fav_id=fav_id,
|
|
||||||
transponder=tr)
|
|
||||||
services.append(srv)
|
services.append(srv)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2760,7 +2760,7 @@ class Application(Gtk.Application):
|
|||||||
for srv in self._services.values():
|
for srv in self._services.values():
|
||||||
tr_type = srv.transponder_type
|
tr_type = srv.transponder_type
|
||||||
if tr_type == "s" and srv.pos:
|
if tr_type == "s" and srv.pos:
|
||||||
sat_positions.add(float(srv.pos))
|
sat_positions.add(srv.pos)
|
||||||
elif tr_type == "t":
|
elif tr_type == "t":
|
||||||
terrestrial = True
|
terrestrial = True
|
||||||
elif tr_type == "c":
|
elif tr_type == "c":
|
||||||
@@ -2771,7 +2771,7 @@ class Application(Gtk.Application):
|
|||||||
if cable:
|
if cable:
|
||||||
self._sat_positions.append("C")
|
self._sat_positions.append("C")
|
||||||
elif self._s_type is SettingsType.NEUTRINO_MP:
|
elif self._s_type is SettingsType.NEUTRINO_MP:
|
||||||
list(map(lambda s: sat_positions.add(float(s.pos)), filter(lambda s: s.pos, self._services.values())))
|
list(map(lambda s: sat_positions.add(s.pos), filter(lambda s: s.pos, self._services.values())))
|
||||||
|
|
||||||
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():
|
||||||
|
|||||||
Reference in New Issue
Block a user