aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/Components')
-rw-r--r--lib/python/Components/Converter/Makefile.am2
-rw-r--r--lib/python/Components/Converter/Misc.py0
-rw-r--r--lib/python/Components/Converter/TunerInfo.py34
-rw-r--r--lib/python/Components/GUIComponent.py1
-rw-r--r--lib/python/Components/GUISkin.py7
-rw-r--r--lib/python/Components/Sources/Makefile.am4
-rw-r--r--lib/python/Components/Sources/Misc.py0
-rw-r--r--lib/python/Components/Sources/RecordState.py32
-rw-r--r--lib/python/Components/Sources/TunerInfo.py29
9 files changed, 105 insertions, 4 deletions
diff --git a/lib/python/Components/Converter/Makefile.am b/lib/python/Components/Converter/Makefile.am
index 8519d0cd..73b689b3 100644
--- a/lib/python/Components/Converter/Makefile.am
+++ b/lib/python/Components/Converter/Makefile.am
@@ -5,4 +5,4 @@ install_PYTHON = \
Poll.py RemainingToText.py StringList.py ServiceName.py FrontendInfo.py ServiceInfo.py \
ConditionalShowHide.py ServicePosition.py ValueRange.py RdsInfo.py Streaming.py \
StaticMultiList.py ServiceTime.py MovieInfo.py MenuEntryCompare.py StringListSelection.py \
- ValueBitTest.py Misc.py
+ ValueBitTest.py TunerInfo.py
diff --git a/lib/python/Components/Converter/Misc.py b/lib/python/Components/Converter/Misc.py
deleted file mode 100644
index e69de29b..00000000
--- a/lib/python/Components/Converter/Misc.py
+++ /dev/null
diff --git a/lib/python/Components/Converter/TunerInfo.py b/lib/python/Components/Converter/TunerInfo.py
new file mode 100644
index 00000000..2ed71e34
--- /dev/null
+++ b/lib/python/Components/Converter/TunerInfo.py
@@ -0,0 +1,34 @@
+from Components.Sources.TunerInfo import TunerInfo as TunerInfoSource
+from Components.Converter.Converter import Converter
+from Components.Element import cached
+
+class TunerInfo(Converter, object):
+ def __init__(self, type):
+ Converter.__init__(self, type)
+ self.type = {
+ "TunerUseMask": TunerInfoSource.FE_USE_MASK
+ }[type]
+
+ @cached
+ def getBoolean(self):
+ if self.type == TunerInfoSource.FE_USE_MASK:
+ return self.source.getTunerUseMask() and True or False
+ boolean = property(getBoolean)
+
+ @cached
+ def getText(self):
+ if self.type == TunerInfoSource.FE_USE_MASK:
+ return str(self.source.getTunerUseMask())
+ return ""
+ text = property(getText)
+
+ @cached
+ def getValue(self):
+ if self.type == TunerInfoSource.FE_USE_MASK:
+ return self.source.getTunerUseMask()
+ return -1
+ value = property(getValue)
+
+ def changed(self, what):
+ if what[0] != self.CHANGED_SPECIFIC or what[1] == self.type:
+ Converter.changed(self, what)
diff --git a/lib/python/Components/GUIComponent.py b/lib/python/Components/GUIComponent.py
index deb8b34a..a3b1b9e1 100644
--- a/lib/python/Components/GUIComponent.py
+++ b/lib/python/Components/GUIComponent.py
@@ -11,6 +11,7 @@ class GUIComponent(object):
self.__visible = 0
self.visible = 1
self.skinAttributes = None
+ self.deprecationInfo = None
def execBegin(self):
pass
diff --git a/lib/python/Components/GUISkin.py b/lib/python/Components/GUISkin.py
index 39499c77..ce4d397d 100644
--- a/lib/python/Components/GUISkin.py
+++ b/lib/python/Components/GUISkin.py
@@ -20,7 +20,12 @@ class GUISkin:
val = self[key]
if isinstance(val, GUIComponent):
val.GUIcreate(parent)
- if not val.applySkin(desktop):
+ depr = val.deprecationInfo
+ if val.applySkin(desktop):
+ if depr:
+ print "WARNING: OBSOLETE COMPONENT '%s' USED IN SKIN. USE '%s' INSTEAD!" % (key, depr[0])
+ print "OBSOLETE COMPONENT WILL BE REMOVED %s, PLEASE UPDATE!" % (depr[1])
+ elif not depr:
print "warning, skin is missing element", key, "in", self
for w in self.additionalWidgets:
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)