aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2010-10-04 10:23:07 +0200
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2010-10-06 11:18:53 +0200
commit6f59909bea021e8eca6a60b6b76556b54d52fc49 (patch)
tree4b6b08c76e9d13addc1a7c9be4ecafa79a83011d
parentba4499aef953ae803c76171d4f966c06732dab2a (diff)
downloadenigma2-6f59909bea021e8eca6a60b6b76556b54d52fc49.tar.gz
enigma2-6f59909bea021e8eca6a60b6b76556b54d52fc49.zip
permit also to record from service groups (services with associated alternative services)
-rwxr-xr-xRecordTimer.py2
-rw-r--r--ServiceReference.py13
-rw-r--r--lib/python/Screens/TimerEntry.py2
3 files changed, 12 insertions, 5 deletions
diff --git a/RecordTimer.py b/RecordTimer.py
index def75684..4ece9c58 100755
--- a/RecordTimer.py
+++ b/RecordTimer.py
@@ -102,7 +102,7 @@ class RecordTimerEntry(timer.TimerEntry, object):
assert isinstance(serviceref, ServiceReference)
- if serviceref.getType() == eServiceReference.idDVB and serviceref.getPath() == "":
+ if serviceref.isRecordable():
self.service_ref = serviceref
else:
self.service_ref = ServiceReference(None)
diff --git a/ServiceReference.py b/ServiceReference.py
index 5d11ae77..4907fa28 100644
--- a/ServiceReference.py
+++ b/ServiceReference.py
@@ -10,7 +10,7 @@ class ServiceReference(eServiceReference):
def __str__(self):
return self.ref.toString()
-
+
def getServiceName(self):
info = self.info()
return info and info.getName(self.ref) or ""
@@ -20,9 +20,16 @@ class ServiceReference(eServiceReference):
def list(self):
return self.serviceHandler.list(self.ref)
-
+
def getType(self):
return self.ref.type
-
+
def getPath(self):
return self.ref.getPath()
+
+ def getFlags(self):
+ return self.ref.flags
+
+ def isRecordable(self):
+ ref = self.ref
+ return ref.flags & eServiceReference.isGroup or (ref.type == eServiceReference.idDVB and ref.getPath() == "") \ No newline at end of file
diff --git a/lib/python/Screens/TimerEntry.py b/lib/python/Screens/TimerEntry.py
index 62faf9bf..9885e700 100644
--- a/lib/python/Screens/TimerEntry.py
+++ b/lib/python/Screens/TimerEntry.py
@@ -278,7 +278,7 @@ class TimerEntry(Screen, ConfigListScreen):
self.keyGo()
def keyGo(self, result = None):
- if self.timerentry_service_ref.getType() != eServiceReference.idDVB or self.timerentry_service_ref.getPath() != "":
+ if not self.timerentry_service_ref.isRecordable():
self.session.openWithCallback(self.selectChannelSelector, MessageBox, _("You didn't select a channel to record from."), MessageBox.TYPE_ERROR)
return
self.timer.name = self.timerentry_name.value