Merge branch 'acid-burn/networking_changes'
[enigma2.git] / RecordTimer.py
index 04c3ff1..d8bed8f 100755 (executable)
@@ -102,7 +102,10 @@ class RecordTimerEntry(timer.TimerEntry, object):
                
                assert isinstance(serviceref, ServiceReference)
                
-               self.service_ref = serviceref
+               if serviceref.isRecordable():
+                       self.service_ref = serviceref
+               else:
+                       self.service_ref = ServiceReference(None)
                self.eit = eit
                self.dontSave = False
                self.name = name
@@ -138,14 +141,15 @@ class RecordTimerEntry(timer.TimerEntry, object):
                
                filename = begin_date + " - " + service_name
                if self.name:
-                       filename += " - " + self.name
                        if config.usage.setup_level.index >= 2: # expert+
                                if config.recording.filename_composition.value == "short":
                                        filename = begin_shortdate + " - " + self.name
                                elif config.recording.filename_composition.value == "long":
-                                       filename = begin_date + " - " + service_name + " - " + self.name + " - " + self.description
+                                       filename += " - " + self.name + " - " + self.description
                                else:
                                        filename += " - " + self.name # standard
+                       else:
+                               filename += " - " + self.name
 
                if config.recording.ascii_filenames.value:
                        filename = ASCIItranslit.legacyEncode(filename)
@@ -315,16 +319,14 @@ class RecordTimerEntry(timer.TimerEntry, object):
                timersanitycheck = TimerSanityCheck(NavigationInstance.instance.RecordTimer.timer_list, dummyentry)
                if not timersanitycheck.check():
                        simulTimerList = timersanitycheck.getSimulTimerList()
-                       new_end = simulTimerList[1].begin
-                       del simulTimerList
-                       new_end -= 30                           # 30 Sekunden Prepare-Zeit lassen
-               del dummyentry
+                       if simulTimerList is not None and len(simulTimerList) > 1:
+                               new_end = simulTimerList[1].begin
+                               new_end -= 30                           # 30 Sekunden Prepare-Zeit lassen
                if new_end <= time():
                        return False
                self.end = new_end
                return True
-       
-       
+
        def sendStandbyNotification(self, answer):
                if answer:
                        Notifications.AddNotification(Screens.Standby.Standby)
@@ -513,7 +515,7 @@ class RecordTimer(timer.Timer):
                checkit = True
                for timer in root.findall("timer"):
                        newTimer = createTimer(timer)
-                       if (self.record(newTimer, True, True) is not None) and (checkit == True):
+                       if (self.record(newTimer, True, dosave=False) is not None) and (checkit == True):
                                from Tools.Notifications import AddPopup
                                from Screens.MessageBox import MessageBox
                                AddPopup(_("Timer overlap in timers.xml detected!\nPlease recheck it!"), type = MessageBox.TYPE_ERROR, timeout = 0, id = "TimerLoadFailed")