Skip to content

Commit 3610e51

Browse files
committed
close openatv#661
1 parent 6e0719a commit 3610e51

1 file changed

Lines changed: 13 additions & 59 deletions

File tree

usr/lib/enigma2/python/Components/Converter/MetrixHDExtServiceInfo.py

Lines changed: 13 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
from Components.config import config
1616
from Components.Converter.Converter import Converter
1717
from Components.Element import cached
18-
from enigma import eServiceCenter, eServiceReference, iServiceInformation
18+
from enigma import iServiceInformation
1919
from xml.etree.cElementTree import parse
2020

2121
##########################################################################
2222

2323

24-
class MetrixHDExtServiceInfo(Converter, object):
24+
class MetrixHDExtServiceInfo(Converter):
2525
SERVICENAME = 0
2626
SERVICENUMBER = 1
2727
SERVICENUMBERANDNAME = 2
@@ -34,9 +34,6 @@ class MetrixHDExtServiceInfo(Converter, object):
3434
def __init__(self, type):
3535
Converter.__init__(self, type)
3636
self.satNames = {}
37-
self.readSatXml()
38-
self.getLists()
39-
4037
if type == "ServiceName":
4138
self.type = self.SERVICENAME
4239
elif type == "ServiceNumber":
@@ -46,10 +43,12 @@ def __init__(self, type):
4643
elif type == "OrbitalPosition":
4744
self.type = self.ORBITALPOSITION
4845
elif type == "SatName":
46+
self.readSatXml()
4947
self.type = self.SATNAME
5048
elif type == "Provider":
5149
self.type = self.PROVIDER
5250
elif type == "Config":
51+
self.readSatXml()
5352
self.type = self.FROMCONFIG
5453
else:
5554
self.type = self.ALL
@@ -66,31 +65,28 @@ def getText(self):
6665
try:
6766
service = self.source.serviceref
6867
num = service and service.getChannelNum() or None
69-
except:
68+
except Exception:
7069
num = None
71-
if num:
72-
number = str(num)
73-
else:
74-
num = self.getServiceNumber(name, info.getInfoString(iServiceInformation.sServiceref))
75-
number = num and str(num) or ''
70+
number = str(num) if num is not None else ""
7671
orbital = self.getOrbitalPosition(info)
77-
satName = self.satNames.get(orbital, orbital)
7872

7973
if len(number) > 5:
80-
number = ''
74+
number = ""
8175
if self.type == self.SERVICENAME:
8276
text = name
8377
elif self.type == self.SERVICENUMBER:
8478
text = number
8579
elif self.type == self.SERVICENUMBERANDNAME:
86-
text = number + " " + name
80+
text = f"{number} {name}"
8781
elif self.type == self.ORBITALPOSITION:
8882
text = orbital
8983
elif self.type == self.SATNAME:
84+
satName = self.satNames.get(orbital, orbital)
9085
text = satName
9186
elif self.type == self.PROVIDER:
9287
text = info.getInfoString(iServiceInformation.sProvider)
9388
elif self.type == self.FROMCONFIG:
89+
satName = self.satNames.get(orbital, orbital)
9490
if config.plugins.ExtendedServiceInfo.showServiceNumber.value is True and number != "":
9591
text = f"{number}. {name}"
9692
else:
@@ -101,10 +97,7 @@ def getText(self):
10197
else:
10298
text = f"{text} ({orbital})"
10399
else:
104-
if number == "":
105-
text = name
106-
else:
107-
text = f"{number}. {name}"
100+
text = name if number == "" else f"{number} {name}"
108101
if orbital != "":
109102
text = f"{text} ({orbital})"
110103

@@ -115,30 +108,10 @@ def getText(self):
115108
def changed(self, what):
116109
Converter.changed(self, what)
117110

118-
def getListFromRef(self, ref):
119-
list = []
120-
121-
serviceHandler = eServiceCenter.getInstance()
122-
services = serviceHandler.list(ref)
123-
bouquets = services and services.getContent("SN", True)
124-
125-
for bouquet in bouquets:
126-
services = serviceHandler.list(eServiceReference(bouquet[0]))
127-
channels = services and services.getContent("SN", True)
128-
for channel in channels:
129-
if not channel[0].startswith("1:64:"): # Ignore marker
130-
list.append(channel[1].replace('\xc2\x86', '').replace('\xc2\x87', '').replace('\x86', '').replace('\x87', ''))
131-
132-
return list
133-
134-
def getLists(self):
135-
self.tv_list = self.getListFromRef(eServiceReference('1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25) FROM BOUQUET "bouquets.tv" ORDER BY bouquet'))
136-
self.radio_list = self.getListFromRef(eServiceReference('1:7:2:0:0:0:0:0:0:0:(type == 2) FROM BOUQUET "bouquets.radio" ORDER BY bouquet'))
137-
138111
def readSatXml(self):
139112
try:
140113
satXml = parse("/etc/enigma2/satellites.xml").getroot()
141-
except:
114+
except Exception:
142115
satXml = parse("/etc/tuxbox/satellites.xml").getroot()
143116
if satXml is not None:
144117
for sat in satXml.findall("sat"):
@@ -154,33 +127,14 @@ def readSatXml(self):
154127
position = f"0{position}"
155128
self.satNames[position] = name
156129

157-
def getServiceNumber(self, name, ref):
158-
_list = []
159-
if ref.startswith("1:0:2"):
160-
_list = self.radio_list
161-
elif ref.startswith("1:0:1"):
162-
_list = self.tv_list
163-
number = ""
164-
if name in _list:
165-
for idx in list(range(1, len(_list))):
166-
if name == _list[idx - 1]:
167-
number = str(idx)
168-
break
169-
return number
170-
171130
def getOrbitalPosition(self, info):
172131
transponderData = info.getInfoObject(iServiceInformation.sTransponderData)
173-
orbital = 0
174132
if transponderData is not None:
175133
if isinstance(transponderData, float):
176134
return ""
177135
if "tuner_type" in transponderData:
178136
if (transponderData["tuner_type"] == "DVB-S") or (transponderData["tuner_type"] == "DVB-S2"):
179137
orbital = transponderData["orbital_position"]
180138
orbital = int(orbital)
181-
if orbital > 1800:
182-
orbital = str((float(3600 - orbital)) / 10.0) + "W"
183-
else:
184-
orbital = str((float(orbital)) / 10.0) + "E"
185-
return orbital
139+
return str((float(3600 - orbital)) / 10.0) + "W" if orbital > 1800 else str((float(orbital)) / 10.0) + "E"
186140
return ""

0 commit comments

Comments
 (0)