more robust timer sanity check / autoincrement handling, small code cleanup
[vuplus_dvbapp] / lib / python / Screens / TimerEdit.py
index cdff4c5..572f14b 100644 (file)
@@ -4,6 +4,7 @@ from Components.config import config
 from Components.MenuList import MenuList
 from Components.TimerList import TimerList
 from Components.TimerSanityCheck import TimerSanityCheck
+from Components.UsageConfig import preferredTimerPath
 from RecordTimer import RecordTimerEntry, parseEvent, AFTEREVENT
 from Screen import Screen
 from Screens.ChoiceBox import ChoiceBox
@@ -87,7 +88,9 @@ class TimerEditList(Screen):
                                if not timersanitycheck.check():
                                        t.disable()
                                        print "Sanity check failed"
-                                       self.session.openWithCallback(self.finishedEdit, TimerSanityConflict, timersanitycheck.getSimulTimerList())
+                                       simulTimerList = timersanitycheck.getSimulTimerList()
+                                       if simulTimerList is not None:
+                                               self.session.openWithCallback(self.finishedEdit, TimerSanityConflict, simulTimerList)
                                else:
                                        print "Sanity check passed"
                                        if timersanitycheck.doubleCheck():
@@ -171,14 +174,11 @@ class TimerEditList(Screen):
                        self.key_blue_choice = self.EMPTY
 
        def fillTimerList(self):
-               del self.list[:]
-               
-               for timer in self.session.nav.RecordTimer.timer_list:
-                       self.list.append((timer, False))
-               
-               for timer in self.session.nav.RecordTimer.processed_timers:
-                       self.list.append((timer, True))
-               self.list.sort(cmp = lambda x, y: x[0].begin < y[0].begin)
+               list = self.list
+               del list[:]
+               list.extend([(timer, False) for timer in self.session.nav.RecordTimer.timer_list])
+               list.extend([(timer, True) for timer in self.session.nav.RecordTimer.processed_timers])
+               list.sort(key = lambda x: x[0].begin)
 
        def showLog(self):
                cur=self["timerlist"].getCurrent()
@@ -246,7 +246,7 @@ class TimerEditList(Screen):
                else:
                        data = parseEvent(event, description = False)
 
-               self.addTimer(RecordTimerEntry(serviceref, checkOldTimers = True, dirname = config.movielist.last_timer_videodir.value, *data))
+               self.addTimer(RecordTimerEntry(serviceref, checkOldTimers = True, dirname = preferredTimerPath(), *data))
                
        def addTimer(self, timer):
                self.session.openWithCallback(self.finishedAdd, TimerEntry, timer)
@@ -273,7 +273,7 @@ class TimerEditList(Screen):
                                        else:
                                                success = True
                        else:
-                               succsess = True
+                               success = True
                        if success:
                                print "Sanity check passed"
                                self.session.nav.RecordTimer.timeChanged(entry)