X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ab9f30f89ade9a09d22e13e5be633f1db45c6a9a..a029953596adaed49a5b0346acd5a867eff91a57:/lib/python/Screens/TimerEntry.py diff --git a/lib/python/Screens/TimerEntry.py b/lib/python/Screens/TimerEntry.py index 5be0f826..4f1d6d68 100644 --- a/lib/python/Screens/TimerEntry.py +++ b/lib/python/Screens/TimerEntry.py @@ -1,15 +1,13 @@ from Screen import Screen import ChannelSelection from ServiceReference import ServiceReference -from Components.config import ConfigSelection, ConfigText, ConfigSubList, ConfigSubsection, ConfigDateTime, ConfigClock, ConfigYesNo, getConfigListEntry -from Components.ActionMap import ActionMap, NumberActionMap -from Components.ConfigList import ConfigList, ConfigListScreen +from Components.config import ConfigSelection, ConfigText, ConfigSubList, ConfigDateTime, ConfigClock, ConfigYesNo, getConfigListEntry +from Components.ActionMap import NumberActionMap +from Components.ConfigList import ConfigListScreen from Components.MenuList import MenuList from Components.Button import Button -from Components.NimManager import nimmanager from Components.Label import Label from Components.Pixmap import Pixmap -from Screens.MessageBox import MessageBox from Screens.ChoiceBox import ChoiceBox from RecordTimer import AFTEREVENT from enigma import eEPGCache @@ -83,8 +81,8 @@ class TimerEntry(Screen, ConfigListScreen): weekday = (int(time.strftime("%w", time.localtime(self.timer.begin))) - 1) % 7 day[weekday] = 1 - self.timerentry_justplay = ConfigSelection(choices = [("zap", _("zap")), ("record", _("record"))], default = {0: "record", 1: "record"}[justplay]) - self.timerentry_afterevent = ConfigSelection(choices = [("nothing", _("do nothing")), ("deepstandby", _("go to deep standby"))], default = afterevent) + self.timerentry_justplay = ConfigSelection(choices = [("zap", _("zap")), ("record", _("record"))], default = {0: "record", 1: "zap"}[justplay]) + self.timerentry_afterevent = ConfigSelection(choices = [("nothing", _("do nothing")), ("standby", _("go to standby")), ("deepstandby", _("go to deep standby"))], default = afterevent) self.timerentry_type = ConfigSelection(choices = [("once",_("once")), ("repeated", _("repeated"))], default = type) self.timerentry_name = ConfigText(default = self.timer.name, fixed_size = False) self.timerentry_description = ConfigText(default = self.timer.description, fixed_size = False) @@ -97,6 +95,8 @@ class TimerEntry(Screen, ConfigListScreen): self.timerentry_enddate = ConfigDateTime(default = self.timer.end, formatstring = _("%d.%B %Y"), increment = 86400) self.timerentry_endtime = ConfigClock(default = self.timer.end) + self.timerentry_repeatedbegindate = ConfigDateTime(default = self.timer.repeatedbegindate, formatstring = _("%d.%B %Y"), increment = 86400) + self.timerentry_weekday = ConfigSelection(default = weekday_table[weekday], choices = [("mon",_("Monday")), ("tue", _("Tuesday")), ("wed",_("Wednesday")), ("thu", _("Thursday")), ("fri", _("Friday")), ("sat", _("Saturday")), ("sun", _("Sunday"))]) self.timerentry_day = ConfigSubList() @@ -138,6 +138,8 @@ class TimerEntry(Screen, ConfigListScreen): else: # repeated self.frequencyEntry = getConfigListEntry(_("Frequency"), self.timerentry_repeated) self.list.append(self.frequencyEntry) + self.repeatedbegindateEntry = getConfigListEntry(_("Starting on"), self.timerentry_repeatedbegindate) + self.list.append(self.repeatedbegindateEntry) if self.timerentry_repeated.value == "daily": pass if self.timerentry_repeated.value == "weekdays": @@ -222,6 +224,11 @@ class TimerEntry(Screen, ConfigListScreen): dt = datetime.datetime(d.tm_year, d.tm_mon, d.tm_mday, mytime[0], mytime[1]) return int(time.mktime(dt.timetuple())) + def buildRepeatedBegin(self, rep_time, start_time): + d = time.localtime(rep_time) + dt = datetime.datetime(d.tm_year, d.tm_mon, d.tm_mday, start_time[0], start_time[1]) + return int(time.mktime(dt.timetuple())) + def getBeginEnd(self): enddate = self.timerentry_enddate.value endtime = self.timerentry_endtime.value @@ -265,6 +272,7 @@ class TimerEntry(Screen, ConfigListScreen): if self.timerentry_day[x].value: self.timer.setRepeated(x) + self.timer.repeatedbegindate = self.buildRepeatedBegin(self.timerentry_repeatedbegindate.value, self.timerentry_starttime.value) self.timer.begin = self.getTimestamp(time.time(), self.timerentry_starttime.value) self.timer.end = self.getTimestamp(time.time(), self.timerentry_endtime.value) @@ -288,13 +296,19 @@ class TimerEntry(Screen, ConfigListScreen): tlist.append((i.getName(), i)) self.session.openWithCallback(self.subserviceSelected, ChoiceBox, title=_("Please select a subservice to record..."), list = tlist, selection = selection) return + + self.saveTimer() self.close((True, self.timer)) def subserviceSelected(self, service): if not service is None: self.timer.service_ref = ServiceReference(service[1]) + self.saveTimer() self.close((True, self.timer)) + def saveTimer(self): + self.session.nav.RecordTimer.saveTimer() + def keyCancel(self): self.close((False,)) @@ -337,7 +351,7 @@ class TimerLog(Screen): def fillLogList(self): self.list = [ ] for x in self.log_entries: - self.list.append((str(time.strftime("%Y-%m-%d %H-%M", localtime(x[0])) + " - " + x[2]), x)) + self.list.append((str(time.strftime("%Y-%m-%d %H-%M", time.localtime(x[0])) + " - " + x[2]), x)) def clearLog(self): self.log_entries = []