blob: 8a0a66a16426a3527cca4d6700e7ec42d389904e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
from Components.Element import cached
from enigma import eServiceCenter, eServiceReference as Ref
from Source import Source
class ServiceEvent(Source, object):
def __init__(self):
Source.__init__(self)
self.service = None
@cached
def getCurrentService(self):
return self.service
@cached
def getCurrentEvent(self):
return self.service and self.info and self.info.getEvent(self.service)
@cached
def getInfo(self):
return self.service and eServiceCenter.getInstance().info(self.service)
event = property(getCurrentEvent)
info = property(getInfo)
def newService(self, ref):
if not self.service or not ref or self.service != ref:
self.service = ref
if not ref:
self.changed((self.CHANGED_CLEAR,))
else:
self.changed((self.CHANGED_ALL,))
|