diff options
Diffstat (limited to 'lib/python/Components/Sources')
| -rw-r--r-- | lib/python/Components/Sources/Makefile.am | 4 | ||||
| -rw-r--r-- | lib/python/Components/Sources/Misc.py | 0 | ||||
| -rw-r--r-- | lib/python/Components/Sources/RecordState.py | 32 | ||||
| -rw-r--r-- | lib/python/Components/Sources/TunerInfo.py | 29 |
4 files changed, 63 insertions, 2 deletions
diff --git a/lib/python/Components/Sources/Makefile.am b/lib/python/Components/Sources/Makefile.am index b6f25554..5ac636c8 100644 --- a/lib/python/Components/Sources/Makefile.am +++ b/lib/python/Components/Sources/Makefile.am @@ -3,5 +3,5 @@ installdir = $(LIBDIR)/enigma2/python/Components/Sources install_PYTHON = \ __init__.py Clock.py EventInfo.py Source.py List.py CurrentService.py \ FrontendStatus.py Boolean.py Config.py ServiceList.py RdsDecoder.py StreamService.py \ - StaticText.py CanvasSource.py ServiceEvent.py Event.py FrontendInfo.py \ - Misc.py + StaticText.py CanvasSource.py ServiceEvent.py Event.py FrontendInfo.py TunerInfo.py \ + RecordState.py diff --git a/lib/python/Components/Sources/Misc.py b/lib/python/Components/Sources/Misc.py deleted file mode 100644 index e69de29b..00000000 --- a/lib/python/Components/Sources/Misc.py +++ /dev/null diff --git a/lib/python/Components/Sources/RecordState.py b/lib/python/Components/Sources/RecordState.py new file mode 100644 index 00000000..328f921b --- /dev/null +++ b/lib/python/Components/Sources/RecordState.py @@ -0,0 +1,32 @@ +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) diff --git a/lib/python/Components/Sources/TunerInfo.py b/lib/python/Components/Sources/TunerInfo.py new file mode 100644 index 00000000..7ac34915 --- /dev/null +++ b/lib/python/Components/Sources/TunerInfo.py @@ -0,0 +1,29 @@ +from Source import Source +from enigma import eDVBResourceManager + +class TunerInfo(Source): + FE_USE_MASK = 0 + + def __init__(self): + Source.__init__(self) + self.tuner_use_mask = 0 + res_mgr = eDVBResourceManager.getInstance() + if res_mgr: + res_mgr.frontendUseMaskChanged.get().append(self.tunerUseMaskChanged) + else: + print "no res_mgr!!" + + def tunerUseMaskChanged(self, mask): + self.tuner_use_mask = mask + self.changed((self.CHANGED_SPECIFIC, self.FE_USE_MASK)) + + def getTunerUseMask(self): + return self.tuner_use_mask + + def destroy(self): + res_mgr = eDVBResourceManager.getInstance() + if res_mgr: + res_mgr.frontendUseMaskChanged.get().remove(self.tunerUseMaskChanged) + else: + print "no res_mgr!!" + Source.destroy(self) |
