--- /dev/null
+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)
+
+ def gotRecordEvent(self, service, event):
+ prev_records = self.records_running
+ if event in (iRecordableService.evEnd, iRecordableService.evStart):
+ 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)