- def keyGo(self):
- if (config.timerentry.type.value == 0): # once
- self.timer.begin = self.getTimestamp(config.timerentry.startdate.value, config.timerentry.starttime.value)
- self.timer.end = self.getTimestamp(config.timerentry.enddate.value, config.timerentry.endtime.value)
- if (config.timerentry.type.value == 1): # repeated
- if (config.timerentry.repeated.value == 0): # daily
- self.timer.setRepeated(0) # Mon
- self.timer.setRepeated(1) # Tue
- self.timer.setRepeated(2) # Wed
- self.timer.setRepeated(3) # Thu
- self.timer.setRepeated(4) # Fri
- self.timer.setRepeated(5) # Sat
- self.timer.setRepeated(6) # Sun
-
- if (config.timerentry.repeated.value == 1): # weekly
- self.timer.setRepeated(config.timerentry.weekday.value)
-
- if (config.timerentry.repeated.value == 2): # Mon-Fri
- self.timer.setRepeated(0) # Mon
- self.timer.setRepeated(1) # Tue
- self.timer.setRepeated(2) # Wed
- self.timer.setRepeated(3) # Thu
- self.timer.setRepeated(4) # Fri
-
- if (config.timerentry.repeated.value == 3): # user-defined
- for x in range(0,7):
- if (config.timerentry.day[x].value == 0): self.timer.setRepeated(x)
-
-
+ def getBeginEnd(self):
+ date = self.timerentry_date.value
+ endtime = self.timerentry_endtime.value
+ starttime = self.timerentry_starttime.value
+
+ begin = self.getTimestamp(date, starttime)
+ end = self.getTimestamp(date, endtime)
+
+ # if the endtime is less than the starttime, add 1 day.
+ if end < begin:
+ end += 86400
+ return begin, end
+
+ def selectChannelSelector(self, *args):
+ self.session.openWithCallback(
+ self.finishedChannelSelectionCorrection,
+ ChannelSelection.SimpleChannelSelection,
+ _("Select channel to record from")
+ )
+
+ def finishedChannelSelectionCorrection(self, *args):
+ if args:
+ self.finishedChannelSelection(*args)
+ self.keyGo()
+
+ def keyGo(self, result = None):
+ 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
+ self.timer.description = self.timerentry_description.value
+ self.timer.justplay = self.timerentry_justplay.value == "zap"
+ if self.timerentry_justplay.value == "zap":
+ if not self.timerentry_showendtime.value:
+ self.timerentry_endtime.value = self.timerentry_starttime.value
+ self.timer.resetRepeated()
+ self.timer.afterEvent = {
+ "nothing": AFTEREVENT.NONE,
+ "deepstandby": AFTEREVENT.DEEPSTANDBY,
+ "standby": AFTEREVENT.STANDBY,
+ "auto": AFTEREVENT.AUTO
+ }[self.timerentry_afterevent.value]
+ self.timer.service_ref = self.timerentry_service_ref
+ self.timer.tags = self.timerentry_tags
+
+ if self.timer.dirname or self.timerentry_dirname.value != defaultMoviePath():
+ self.timer.dirname = self.timerentry_dirname.value
+ config.movielist.last_timer_videodir.value = self.timer.dirname
+ config.movielist.last_timer_videodir.save()
+
+ if self.timerentry_type.value == "once":
+ self.timer.begin, self.timer.end = self.getBeginEnd()
+ if self.timerentry_type.value == "repeated":
+ if self.timerentry_repeated.value == "daily":
+ for x in (0, 1, 2, 3, 4, 5, 6):
+ self.timer.setRepeated(x)
+
+ if self.timerentry_repeated.value == "weekly":
+ self.timer.setRepeated(self.timerentry_weekday.index)
+
+ if self.timerentry_repeated.value == "weekdays":
+ for x in (0, 1, 2, 3, 4):
+ self.timer.setRepeated(x)
+
+ if self.timerentry_repeated.value == "user":
+ for x in (0, 1, 2, 3, 4, 5, 6):
+ if self.timerentry_day[x].value:
+ self.timer.setRepeated(x)