from Components.Button import Button
from Components.Label import Label
from Components.Pixmap import Pixmap
+from Components.SystemInfo import SystemInfo
+from Components.UsageConfig import defaultMoviePath
from Screens.MovieSelection import getPreferredTagEditor
from Screens.LocationBox import MovieLocationBox
from Screens.ChoiceBox import ChoiceBox
from RecordTimer import AFTEREVENT
-from Tools.Directories import resolveFilename, SCOPE_HDD
from enigma import eEPGCache
from time import localtime, mktime, time, strftime
from datetime import datetime
self.createConfig()
- self["actions"] = NumberActionMap(["SetupActions"],
+ self["actions"] = NumberActionMap(["SetupActions", "GlobalActions", "PiPSetupActions"],
{
"ok": self.keySelect,
"save": self.keyGo,
"cancel": self.keyCancel,
+ "volumeUp": self.incrementStart,
+ "volumeDown": self.decrementStart,
+ "size+": self.incrementEnd,
+ "size-": self.decrementEnd
}, -2)
self.list = []
AFTEREVENT.AUTO: "auto"
}[self.timer.afterEvent]
- weekday_table = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]
+ weekday_table = ("mon", "tue", "wed", "thu", "fri", "sat", "sun")
# calculate default values
day = []
weekday = 0
- for x in range(0,7):
+ for x in (0, 1, 2, 3, 4, 5, 6):
day.append(0)
if self.timer.repeated: # repeated
type = "repeated"
flags = self.timer.repeated
repeated = "user"
count = 0
- for x in range(0, 7):
+ for x in (0, 1, 2, 3, 4, 5, 6):
if flags == 1: # weekly
print "Set to weekday " + str(x)
weekday = x
day[weekday] = 1
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")), ("auto", _("auto"))], default = afterevent)
+ if SystemInfo["DeepstandbySupport"]:
+ shutdownString = _("go to deep standby")
+ else:
+ shutdownString = _("shut down")
+ self.timerentry_afterevent = ConfigSelection(choices = [("nothing", _("do nothing")), ("standby", _("go to standby")), ("deepstandby", shutdownString), ("auto", _("auto"))], default = afterevent)
self.timerentry_type = ConfigSelection(choices = [("once",_("once")), ("repeated", _("repeated"))], default = type)
self.timerentry_name = ConfigText(default = self.timer.name, visible_width = 50, fixed_size = False)
self.timerentry_description = ConfigText(default = self.timer.description, visible_width = 50, fixed_size = False)
- self.timerentry_tags = self.timer.tags + []
- self.timerentry_tagsset = ConfigSelection(choices = [len(self.timerentry_tags) == 0 and "None" or " ".join(self.timerentry_tags)])
+ self.timerentry_tags = self.timer.tags[:]
+ self.timerentry_tagsset = ConfigSelection(choices = [not self.timerentry_tags and "None" or " ".join(self.timerentry_tags)])
self.timerentry_repeated = ConfigSelection(default = repeated, choices = [("daily", _("daily")), ("weekly", _("weekly")), ("weekdays", _("Mon-Fri")), ("user", _("user defined"))])
self.timerentry_starttime = ConfigClock(default = self.timer.begin)
self.timerentry_endtime = ConfigClock(default = self.timer.end)
- default = self.timer.dirname or resolveFilename(SCOPE_HDD)
+ default = self.timer.dirname or defaultMoviePath()
tmp = config.movielist.videodirs.value
if default not in tmp:
tmp.append(default)
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()
- for x in range(0,7):
+ for x in (0, 1, 2, 3, 4, 5, 6):
self.timerentry_day.append(ConfigYesNo(default = day[x]))
# FIXME some service-chooser needed here
self.entryDate = getConfigListEntry(_("Date"), self.timerentry_date)
if self.timerentry_type.value == "once":
self.list.append(self.entryDate)
- self.list.append(getConfigListEntry(_("StartTime"), self.timerentry_starttime))
+
+ self.entryStartTime = getConfigListEntry(_("StartTime"), self.timerentry_starttime)
+ self.list.append(self.entryStartTime)
if self.timerentry_justplay.value != "zap":
- self.list.append(getConfigListEntry(_("EndTime"), self.timerentry_endtime))
+ self.entryEndTime = getConfigListEntry(_("EndTime"), self.timerentry_endtime)
+ self.list.append(self.entryEndTime)
+ else:
+ self.entryEndTime = None
self.channelEntry = getConfigListEntry(_("Channel"), self.timerentry_service)
self.list.append(self.channelEntry)
self.createSetup("config")
def keyLeft(self):
- if self["config"].getCurrent() in [self.channelEntry, self.tagsSet]:
+ if self["config"].getCurrent() in (self.channelEntry, self.tagsSet):
self.keySelect()
else:
ConfigListScreen.keyLeft(self)
self.newConfig()
def keyRight(self):
- if self["config"].getCurrent() in [self.channelEntry, self.tagsSet]:
+ if self["config"].getCurrent() in (self.channelEntry, self.tagsSet):
self.keySelect()
else:
ConfigListScreen.keyRight(self)
self.keyGo()
def finishedChannelSelection(self, *args):
- if len(args):
+ if args:
self.timerentry_service_ref = ServiceReference(args[0])
self.timerentry_service.setCurrentText(self.timerentry_service_ref.getServiceName())
self["config"].invalidate(self.channelEntry)
self.timer.service_ref = self.timerentry_service_ref
self.timer.tags = self.timerentry_tags
- self.timer.dirname = self.timerentry_dirname.value
- config.movielist.last_timer_videodir.value = self.timer.dirname
- config.movielist.last_timer_videodir.save()
+ 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 range(0,7):
+ 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 range(0,5):
+ for x in (0, 1, 2, 3, 4):
self.timer.setRepeated(x)
if self.timerentry_repeated.value == "user":
- for x in range(0,7):
+ for x in (0, 1, 2, 3, 4, 5, 6):
if self.timerentry_day[x].value:
self.timer.setRepeated(x)
if self.timer.eit is not None:
event = eEPGCache.getInstance().lookupEventId(self.timer.service_ref.ref, self.timer.eit)
- if event is not None:
+ if event:
n = event.getNumOfLinkageServices()
- if n > 0:
+ if n > 1:
tlist = []
ref = self.session.nav.getCurrentlyPlayingServiceReference()
parent = self.timer.service_ref.ref
tlist.append((i.getName(), i))
self.session.openWithCallback(self.subserviceSelected, ChoiceBox, title=_("Please select a subservice to record..."), list = tlist, selection = selection)
return
-
+ elif n > 0:
+ parent = self.timer.service_ref.ref
+ self.timer.service_ref = ServiceReference(event.getLinkageService(parent, 0))
self.saveTimer()
self.close((True, self.timer))
+ def incrementStart(self):
+ self.timerentry_starttime.increment()
+ self["config"].invalidate(self.entryStartTime)
+
+ def decrementStart(self):
+ self.timerentry_starttime.decrement()
+ self["config"].invalidate(self.entryStartTime)
+
+ def incrementEnd(self):
+ if self.entryEndTime is not None:
+ self.timerentry_endtime.increment()
+ self["config"].invalidate(self.entryEndTime)
+
+ def decrementEnd(self):
+ if self.entryEndTime is not None:
+ self.timerentry_endtime.decrement()
+ self["config"].invalidate(self.entryEndTime)
+
def subserviceSelected(self, service):
if not service is None:
self.timer.service_ref = ServiceReference(service[1])
def tagEditFinished(self, ret):
if ret is not None:
self.timerentry_tags = ret
- self.timerentry_tagsset.setChoices([len(ret) == 0 and "None" or " ".join(ret)])
+ self.timerentry_tagsset.setChoices([not ret and "None" or " ".join(ret)])
self["config"].invalidate(self.tagsSet)
class TimerLog(Screen):
self.updateText()
def fillLogList(self):
- self.list = [ ]
- for x in self.log_entries:
- self.list.append((str(strftime("%Y-%m-%d %H-%M", localtime(x[0])) + " - " + x[2]), x))
+ self.list = [(str(strftime("%Y-%m-%d %H-%M", localtime(x[0])) + " - " + x[2]), x) for x in self.log_entries]
def clearLog(self):
self.log_entries = []
self.updateText()
def updateText(self):
- if len(self.list) > 0:
+ if self.list:
self["logentry"].setText(str(self["loglist"].getCurrent()[1][2]))
else:
self["logentry"].setText("")