blob: c3fa588f5fcf108024f04582352f5926bfb8f058 (
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
32
33
|
from Source import Source
from Components.Element import cached
from enigma import iRecordableService
class RecordState(Source):
def __init__(self, session):
Source.__init__(self)
self.records_running = 0
self.session = session
session.nav.record_event.append(self.gotRecordEvent)
self.gotRecordEvent(None, None) # get initial state
def gotRecordEvent(self, service, event):
prev_records = self.records_running
if event in (iRecordableService.evEnd, iRecordableService.evStart, None):
recs = self.session.nav.getRecordings()
self.records_running = len(recs)
if self.records_running != prev_records:
self.changed((self.CHANGED_ALL,))
def destroy(self):
session.nav.record_event.remove(self.gotRecordEvent)
Source.destroy(self)
@cached
def getBoolean(self):
return self.records_running and True or False
boolean = property(getBoolean)
@cached
def getValue(self):
return self.records_running
value = property(getValue)
|