diff --git a/app/eparser/neutrino/bouquets.py b/app/eparser/neutrino/bouquets.py index 147d784f..a77aeb49 100644 --- a/app/eparser/neutrino/bouquets.py +++ b/app/eparser/neutrino/bouquets.py @@ -4,11 +4,10 @@ from ..ecommons import Bouquets, Bouquet, BouquetService, BqServiceType _FILE = "bouquets.xml" _U_FILE = "ubouquets.xml" -_PATH = "/home/dimon/WORK/projects/DemonEditor/data/neutrino/" def get_bouquets(path): - return parse_bouquets(_PATH + _FILE, "TV", "tv"), parse_bouquets(_PATH + _U_FILE, "User", "user") + return parse_bouquets(path + _FILE, "User bouquets", "bouquet"), parse_bouquets(path + _U_FILE, "User TV", "tv") def parse_bouquets(file, name, bq_type): @@ -26,13 +25,13 @@ def parse_bouquets(file, name, bq_type): if srv_elem.hasAttributes(): ssid = srv_elem.attributes["i"].value srv_name = srv_elem.attributes["n"].value - tr_n = srv_elem.attributes["t"].value - pos = srv_elem.attributes["on"].value + srv_type = srv_elem.attributes["t"].value + on = srv_elem.attributes["on"].value sys = srv_elem.attributes["s"].value frq = srv_elem.attributes["frq"].value, l = srv_elem.attributes["l"].value - # fav_id = "{}:{}".format(tr_n, ssid) - services.append(BouquetService(None, BqServiceType.DEFAULT, srv_name, 0)) + fav_id = "{}:{}".format(on, ssid) + services.append(BouquetService(None, BqServiceType.DEFAULT, fav_id, 0)) bouquets[2].append(Bouquet(name=bq_name, type=bq_type, services=services)) return bouquets diff --git a/app/eparser/neutrino/services.py b/app/eparser/neutrino/services.py index 648f61a4..7447a6fd 100644 --- a/app/eparser/neutrino/services.py +++ b/app/eparser/neutrino/services.py @@ -1,6 +1,6 @@ from xml.dom.minidom import parse, Document -from ..ecommons import Service, POLARIZATION, FEC, SYSTEM +from ..ecommons import Service, POLARIZATION, FEC, SYSTEM, SERVICE_TYPE _FILE = "services.xml" @@ -41,51 +41,46 @@ def parse_services(path): elem.attributes["uncommited"].value) for tr_elem in elem.getElementsByTagName("TS"): - freq, rate, fec, pol, sys, transponder = [None] * 6 - if tr_elem.hasAttributes(): + tr_id = tr_elem.attributes["id"].value + on = tr_elem.attributes["on"].value freq = tr_elem.attributes["frq"].value rate = tr_elem.attributes["sr"].value fec = tr_elem.attributes["fec"].value pol = tr_elem.attributes["pol"].value sys = tr_elem.attributes["sys"].value - transponder = "{}:{}:{}:{}:{}:{}:{}:{}:{}".format(tr_elem.attributes["id"].value, - tr_elem.attributes["on"].value, - freq, - tr_elem.attributes["inv"].value, - rate, - fec, - pol, - tr_elem.attributes["mod"].value, - sys) - for srv_elem in tr_elem.getElementsByTagName("S"): - if srv_elem.hasAttributes(): - ssid = srv_elem.attributes["i"].value - name = srv_elem.attributes["n"].value - tr_n = srv_elem.attributes["t"].value - data_id = "{}:{}:{}:{}".format(tr_n, - srv_elem.attributes["s"].value, - srv_elem.attributes["num"].value, - srv_elem.attributes["f"].value) - # fav_id = "{}:{}".format(tr_n, ssid) - srv = Service(flags_cas=sat, - transponder_type=None, - coded=None, - service=name, - locked=None, - hide=None, - package=None, - service_type=None, - ssid=ssid, freq=freq, - rate=rate, - pol=POLARIZATION.get(pol), - fec=FEC.get(fec), - system=SYSTEM.get(sys), - pos="{}.{}".format(sat_pos[:-1], sat_pos[-1:]), - data_id=data_id, - fav_id=name, - transponder=transponder) - services.append(srv) + transponder = "{}:{}:{}:{}:{}:{}:{}:{}:{}".format(tr_id, on, freq, tr_elem.attributes["inv"].value, + rate, fec, pol, tr_elem.attributes["mod"].value, sys) + for srv_elem in tr_elem.getElementsByTagName("S"): + if srv_elem.hasAttributes(): + ssid = srv_elem.attributes["i"].value + name = srv_elem.attributes["n"].value + srv_type = srv_elem.attributes["t"].value + data_id = "{}:{}:{}:{}".format(srv_type, + srv_elem.attributes["s"].value, + srv_elem.attributes["num"].value, + srv_elem.attributes["f"].value) + fav_id = "{}:{}".format(on.lstrip("0"), ssid.lstrip("0")) + + srv = Service(flags_cas=sat, + transponder_type=None, + coded=None, + service=name, + locked=None, + hide=None, + package=None, + service_type=SERVICE_TYPE.get(str(int(srv_type, 16))), + ssid=ssid, + freq=freq, + rate=rate, + pol=POLARIZATION.get(pol), + fec=FEC.get(fec), + system=SYSTEM.get(sys), + pos="{}.{}".format(sat_pos[:-1], sat_pos[-1:]), + data_id=data_id, + fav_id=fav_id, + transponder=transponder) + services.append(srv) return services