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
from TimerEntry import TimerEntry, TimerLog
from Tools.BoundFunction import boundFunction
from time import time
+from timer import TimerEntry as RealTimerEntry
class TimerEditList(Screen):
EMPTY = 0
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():
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)
+ #helper function to move finished timers to end of list
+ def eol_compare(x, y):
+ if x[0].state != y[0].state and x[0].state == RealTimerEntry.StateEnded or y[0].state == RealTimerEntry.StateEnded:
+ return cmp(x[0].state, y[0].state)
+ return cmp(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])
+ if config.usage.timerlist_finished_timer_position.index: #end of list
+ list.sort(cmp = eol_compare)
+ else:
+ list.sort(key = lambda x: x[0].begin)
def showLog(self):
cur=self["timerlist"].getCurrent()
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)
else:
success = True
else:
- succsess = True
+ success = True
if success:
print "Sanity check passed"
self.session.nav.RecordTimer.timeChanged(entry)