def __init__(self, session, filterEntry, add_edit): Screen.__init__(self, session) try: self.skinName = "AutoTimerFilterEditor" self.onChangedEntry = [] self.add_edit = add_edit if filterEntry is not None: self.EntryDate = NoSave(ConfigDateTime(filterEntry[2], _("%d.%B %Y"), increment = 86400)) self.EntryTime = NoSave(ConfigClock(default = filterEntry[2])) self.EntryTitle = NoSave(ConfigText(default = filterEntry[1], fixed_size = False)) else: self.EntryDate = NoSave(ConfigDateTime(time.time(), _("%d.%B %Y"), increment = 86400)) self.EntryTime = NoSave(ConfigClock(default = time.time())) self.EntryTitle = NoSave(ConfigText(default = "", fixed_size = False)) self.list = [ getConfigListEntry(_("Date"), self.EntryDate), getConfigListEntry(_("Time"), self.EntryTime), getConfigListEntry(_("Title"), self.EntryTitle), ] ConfigListScreen.__init__(self, self.list, session = session, on_change = self.changed) self["key_red"] = StaticText(_("Cancel")) self["key_green"] = StaticText(_("Save")) self["actions"] = ActionMap(["SetupActions", "ColorActions"], { "cancel": self.cancel, "save": self.save, } ) # Trigger change self.changed() self.onLayoutFinish.append(self.setCustomTitle) except Exception: import traceback traceback.print_exc()
def createConfig(self, conf_date, conf_time, conf_duration): self.save_mask = 0 if self.show_entries & self.TIME_MASK: if conf_time: self.save_mask |= self.TIME_MASK else: conf_time = ConfigDateTime(default=time.time(), formatstring=_("%H:%M"), increment=60 * 60, increment1=60) else: conf_time = None if self.show_entries & self.DATE_MASK: if conf_date: self.save_mask |= self.DATE_MASK else: conf_date = ConfigDateTime( default=time.time(), formatstring=config.usage.date.daylong.value, increment=24 * 60 * 60) else: conf_date = None if self.show_entries & self.DURATION_MASK: if conf_duration: self.save_mask |= self.DURATION_MASK else: conf_duration = ConfigDuration(default=time.time(), formatstring=_("%j days %H:%M"), increment=24 * 60 * 60) else: conf_duration = None self.timeinput_time = conf_time self.timeinput_date = conf_date self.timeinput_duration = conf_duration
def createConfig(self): # calculate default values day = [] weekday = 0 for x in (0, 1, 2, 3, 4, 5, 6): day.append(0) if self.timer.repeated: # repeated type = "repeated" if self.timer.repeated == 31: # Mon-Fri repeated = "weekdays" elif self.timer.repeated == 127: # daily repeated = "daily" else: flags = self.timer.repeated repeated = "user" count = 0 for x in (0, 1, 2, 3, 4, 5, 6): if flags == 1: # weekly # print "[TimerEntryBase] Set to weekday " + str(x) weekday = x if flags & 1 == 1: # set user defined flags day[x] = 1 count += 1 else: day[x] = 0 flags >>= 1 if count == 1: repeated = "weekly" else: # once type = "once" repeated = None weekday = int(strftime("%u", localtime(self.timer.begin))) - 1 day[weekday] = 1 self.timerentry_type = ConfigSelection(choices=[("once", _("once")), ("repeated", _("repeated"))], default=type) self.timerentry_repeated = ConfigSelection(default=repeated, choices=[("weekly", _("weekly")), ("daily", _("daily")), ("weekdays", _("Mon-Fri")), ("user", _("user defined"))]) self.timerentry_date = ConfigDateTime(default=self.timer.begin, formatstring=config.usage.date.full.value, increment=86400) self.timerentry_starttime = ConfigClock(default=self.timer.begin) self.timerentry_endtime = ConfigClock(default=self.timer.end) self.timerentry_repeatedbegindate = ConfigDateTime(default=self.timer.repeatedbegindate, formatstring=config.usage.date.full.value, increment=86400) choices = [("mon", _("Monday")), ("tue", _("Tuesday")), ("wed", _("Wednesday")), ("thu", _("Thursday")), ("fri", _("Friday")), ("sat", _("Saturday")), ("sun", _("Sunday"))] self.timerentry_weekday = ConfigSelection(default=choices[weekday][0], choices=choices) self.timerentry_day = ConfigSubList() for x in (0, 1, 2, 3, 4, 5, 6): self.timerentry_day.append(ConfigYesNo(default=day[x]))
def enterDateTime(self): if not EPGSelectionBase.lastEnteredTime: # The stored date and time is shared by all EPG types. EPGSelectionBase.lastEnteredTime = ConfigClock(default=time()) EPGSelectionBase.lastEnteredDate = ConfigDateTime(default=time(), formatstring=config.usage.date.full.value, increment=86400) dti = self.session.openWithCallback(self.onDateTimeInputClosed, TimeDateInput, EPGSelectionBase.lastEnteredTime, EPGSelectionBase.lastEnteredDate) dti.setTitle(_("Advance EPG to the following date and time"))
def createConfig(self, conf_date, conf_time): self.save_mask = 0 if conf_time: self.save_mask |= 1 else: conf_time = ConfigClock(default = time.time()), if conf_date: self.save_mask |= 2 else: conf_date = ConfigDateTime(default = time.time(), formatstring = _("%d.%B %Y"), increment = 86400) self.timeinput_date = conf_date self.timeinput_time = conf_time
def createConfig(self, conf_date, conf_time): self.save_mask = 0 if conf_time: self.save_mask |= self.TIME_MASK else: conf_time = ConfigClock(default=time.time()) if conf_date: self.save_mask |= self.DATE_MASK else: conf_date = ConfigDateTime( default=time.time(), formatstring=config.usage.date.daylong.value, increment=86400) self.timeinput_date = conf_date self.timeinput_time = conf_time
def configContent(self): from Plugins.SystemPlugins.SoftwareManager.UpdateCheck import updateCheck, UPDATE_CHECK_NEVER configNextCheck = ConfigDateTime(updateCheck.nextCheck, "%Y-%m-%d %H:%M:%S") configNextCheck.enabled = False config.plugins.updatechecker.lastcheck.enabled = False l = [ getConfigListEntry(_("Check on every boot"), config.plugins.updatechecker.checkonboot), getConfigListEntry(_("Automatically check for new updates"), config.plugins.updatechecker.interval), ] if config.plugins.updatechecker.interval.value != UPDATE_CHECK_NEVER: l.extend([ getConfigListEntry(_("Last check"), config.plugins.updatechecker.lastcheck), getConfigListEntry(_("Next check"), configNextCheck), ]) return l
def _createSetup(self): configNextCheck = ConfigDateTime(updateCheck.nextCheck, "%Y-%m-%d %H:%M:%S") configNextCheck.enabled = False config.plugins.updatechecker.lastcheck.enabled = False l = [ getConfigListEntry(_("Check on every boot"), config.plugins.updatechecker.checkonboot), getConfigListEntry(_("Automatically check for new updates"), config.plugins.updatechecker.interval), ] if config.plugins.updatechecker.interval.value != UPDATE_CHECK_NEVER: l.extend([ getConfigListEntry(_("Last check"), config.plugins.updatechecker.lastcheck), getConfigListEntry(_("Next check"), configNextCheck), ]) self["config"].list = l self["config"].l.setList(l)
def createConfig(self, conf_date, conf_starttime, conf_endtime): self.save_mask = 0 if conf_starttime: self.save_mask |= 1 else: conf_starttime = ConfigClock(default=time.time()), if conf_endtime: self.save_mask |= 2 else: conf_endtime = ConfigClock(default=time.time()), if conf_date: self.save_mask |= 3 else: conf_date = ConfigDateTime( default=time.time(), formatstring=config.usage.date.full.value, increment=86400) self.timeinput_date = conf_date self.timeinput_starttime = conf_starttime self.timeinput_endtime = conf_endtime
return t localeInit() language.addCallback(localeInit) #------------------------------------------------------------------------------------------ gAvailable = True config.plugins.pvmc.plugins.autosync = ConfigSubsection() config.plugins.pvmc.plugins.autosync.onstart = ConfigYesNo(default = True) defaultTime = strptime("1 1 00 04:00", "%d %m %y %H:%M") print "defaultTime", defaultTime print mktime(defaultTime) config.plugins.pvmc.plugins.autosync.time = ConfigDateTime(default = mktime(defaultTime), formatstring = _("%H:%M"), increment = 1800) gSession = None def autostart(session): printl("->", "DMC_AutoSync::autostart", "I") current, planed = getPlanedTime() current = int(current) planed = int(planed) planedMinusOneDay = (planed - 60*60*24) if planed in range(current - 60*10, current + 60*10) or \ planedMinusOneDay in range(current - 60*10, current + 60*10): printl("Planed Time in Range...", "DMC_AutoSync::autostart", "I") global gSession
def createSetup(self, timer): # Name self.name = NoSave(ConfigText(default = timer.name, fixed_size = False)) # Match self.match = NoSave(ConfigText(default = timer.match, fixed_size = False)) # Encoding default = timer.encoding selection = ['UTF-8', 'ISO8859-15'] if default not in selection: selection.append(default) self.encoding = NoSave(ConfigSelection(choices = selection, default = default)) # ... self.searchType = NoSave(ConfigSelection(choices = [("partial", _("partial match")), ("exact", _("exact match")), ("start", _("title starts with")), ("description", _("description match"))], default = timer.searchType)) self.searchCase = NoSave(ConfigSelection(choices = [("sensitive", _("case-sensitive search")), ("insensitive", _("case-insensitive search"))], default = timer.searchCase)) # Alternatives override self.overrideAlternatives = NoSave(ConfigYesNo(default = timer.overrideAlternatives)) # Justplay self.justplay = NoSave(ConfigSelection(choices = [("zap", _("zap")), ("record", _("record"))], default = {0: "record", 1: "zap"}[int(timer.justplay)])) self.setEndtime = NoSave(ConfigYesNo(default=timer.setEndtime)) # Timespan now = [x for x in localtime()] if timer.hasTimespan(): default = True now[3] = timer.timespan[0][0] now[4] = timer.timespan[0][1] begin = mktime(now) now[3] = timer.timespan[1][0] now[4] = timer.timespan[1][1] end = mktime(now) else: default = False now[3] = 20 now[4] = 15 begin = mktime(now) now[3] = 23 now[4] = 15 end = mktime(now) self.timespan = NoSave(ConfigEnableDisable(default = default)) self.timespanbegin = NoSave(ConfigClock(default = begin)) self.timespanend = NoSave(ConfigClock(default = end)) # Timeframe if timer.hasTimeframe(): default = True begin = timer.getTimeframeBegin() end = timer.getTimeframeEnd() else: default = False now = [x for x in localtime()] now[3] = 0 now[4] = 0 begin = mktime(now) end = begin + 604800 # today + 7d self.timeframe = NoSave(ConfigEnableDisable(default = default)) self.timeframebegin = NoSave(ConfigDateTime(begin, _("%d.%B %Y"), increment = 86400)) self.timeframeend = NoSave(ConfigDateTime(end, _("%d.%B %Y"), increment = 86400)) # Services have their own Screen # Offset if timer.hasOffset(): default = True begin = timer.getOffsetBegin() end = timer.getOffsetEnd() else: default = False begin = 5 end = 5 self.offset = NoSave(ConfigEnableDisable(default = default)) self.offsetbegin = NoSave(ConfigNumber(default = begin)) self.offsetend = NoSave(ConfigNumber(default = end)) # AfterEvent if timer.hasAfterEvent(): default = { None: "default", AFTEREVENT.NONE: "nothing", AFTEREVENT.DEEPSTANDBY: "deepstandby", AFTEREVENT.STANDBY: "standby", AFTEREVENT.AUTO: "auto" }[timer.afterevent[0][0]] else: default = "default" self.afterevent = NoSave(ConfigSelection(choices = [ ("default", _("standard")), ("nothing", _("do nothing")), ("standby", _("go to standby")), ("deepstandby", _("go to deep standby")), ("auto", _("auto"))], default = default)) # AfterEvent (Timespan) if timer.hasAfterEvent() and timer.afterevent[0][1][0] is not None: default = True now[3] = timer.afterevent[0][1][0][0] now[4] = timer.afterevent[0][1][0][1] begin = mktime(now) now[3] = timer.afterevent[0][1][1][0] now[4] = timer.afterevent[0][1][1][1] end = mktime(now) else: default = False now[3] = 23 now[4] = 15 begin = mktime(now) now[3] = 7 now[4] = 0 end = mktime(now) self.afterevent_timespan = NoSave(ConfigEnableDisable(default = default)) self.afterevent_timespanbegin = NoSave(ConfigClock(default = begin)) self.afterevent_timespanend = NoSave(ConfigClock(default = end)) # Enabled self.enabled = NoSave(ConfigYesNo(default = timer.enabled)) # Maxduration if timer.hasDuration(): default = True duration = timer.getDuration() else: default = False duration =70 self.duration = NoSave(ConfigEnableDisable(default = default)) self.durationlength = NoSave(ConfigNumber(default = duration)) # Counter if timer.hasCounter(): default = timer.matchCount else: default = 0 self.counter = NoSave(ConfigNumber(default = default)) self.counterLeft = NoSave(ConfigNumber(default = timer.matchLeft)) default = timer.getCounterFormatString() selection = [("", _("Never")), ("%m", _("Monthly")), ("%U", _("Weekly (Sunday)")), ("%W", _("Weekly (Monday)"))] if default not in ('', '%m', '%U', '%W'): selection.append((default, _("Custom (%s)") % (default))) self.counterFormatString = NoSave(ConfigSelection(selection, default = default)) # Avoid Duplicate Description self.avoidDuplicateDescription = NoSave(ConfigSelection([ ("0", _("No")), ("1", _("On same service")), ("2", _("On any service")), ("3", _("Any service/recording")), ], default = str(timer.getAvoidDuplicateDescription()) )) # Search for Duplicate Desciption in... self.searchForDuplicateDescription = NoSave(ConfigSelection([ ("0", _("Title")), ("1", _("Title and Short description")), ("2", _("Title and all descriptions")), ], default = str(timer.searchForDuplicateDescription) )) # Custom Location if timer.hasDestination(): default = True else: default = False self.useDestination = NoSave(ConfigYesNo(default = default)) default = timer.destination or Directories.resolveFilename(Directories.SCOPE_HDD) choices = config.movielist.videodirs.value if default not in choices: choices.append(default) self.destination = NoSave(ConfigSelection(default = default, choices = choices)) # Tags self.timerentry_tags = timer.tags self.tags = NoSave(ConfigSelection(choices = [len(self.timerentry_tags) == 0 and _("None") or ' '.join(self.timerentry_tags)])) # Vps self.vps_enabled = NoSave(ConfigYesNo(default = timer.vps_enabled)) self.vps_overwrite = NoSave(ConfigYesNo(default = timer.vps_overwrite)) # SeriesPlugin self.series_labeling = NoSave(ConfigYesNo(default = timer.series_labeling))
def createConfig(self): afterevent = { AFTEREVENT.NONE: "nothing", AFTEREVENT.WAKEUPTOSTANDBY: "wakeuptostandby", AFTEREVENT.STANDBY: "standby", AFTEREVENT.DEEPSTANDBY: "deepstandby" }[self.timer.afterEvent] timertype = { TIMERTYPE.WAKEUP: "wakeup", TIMERTYPE.WAKEUPTOSTANDBY: "wakeuptostandby", TIMERTYPE.AUTOSTANDBY: "autostandby", TIMERTYPE.AUTODEEPSTANDBY: "autodeepstandby", TIMERTYPE.STANDBY: "standby", TIMERTYPE.DEEPSTANDBY: "deepstandby", TIMERTYPE.REBOOT: "reboot", TIMERTYPE.RESTART: "restart" }[self.timer.timerType] weekday_table = ("mon", "tue", "wed", "thu", "fri", "sat", "sun") # calculate default values day = [] weekday = 0 for x in (0, 1, 2, 3, 4, 5, 6): day.append(0) if self.timer.repeated: # repeated type = "repeated" if self.timer.repeated == 31: # Mon-Fri repeated = "weekdays" elif self.timer.repeated == 127: # daily repeated = "daily" else: flags = self.timer.repeated repeated = "user" count = 0 for x in (0, 1, 2, 3, 4, 5, 6): if flags == 1: # weekly print "[PowerTimerEntry] Set to weekday " + str(x) weekday = x if flags & 1 == 1: # set user defined flags day[x] = 1 count += 1 else: day[x] = 0 flags >>= 1 if count == 1: repeated = "weekly" else: # once type = "once" repeated = None weekday = int(strftime("%u", localtime(self.timer.begin))) - 1 day[weekday] = 1 autosleepinstandbyonly = self.timer.autosleepinstandbyonly autosleepdelay = self.timer.autosleepdelay autosleeprepeat = self.timer.autosleeprepeat if SystemInfo["DeepstandbySupport"]: shutdownString = _("go to deep standby") else: shutdownString = _("shut down") self.timerentry_timertype = ConfigSelection(choices=[ ("wakeup", _("wakeup")), ("wakeuptostandby", _("wakeup to standby")), ("autostandby", _("auto standby")), ("autodeepstandby", _("auto deepstandby")), ("standby", _("go to standby")), ("deepstandby", shutdownString), ("reboot", _("reboot system")), ("restart", _("restart GUI")) ], default=timertype) self.timerentry_afterevent = ConfigSelection(choices=[ ("nothing", _("do nothing")), ("wakeuptostandby", _("wakeup to standby")), ("standby", _("go to standby")), ("deepstandby", shutdownString), ("nothing", _("do nothing")) ], default=afterevent) self.timerentry_type = ConfigSelection(choices=[("once", _("once")), ("repeated", _("repeated"))], default=type) self.timerentry_repeated = ConfigSelection( default=repeated, choices=[("daily", _("daily")), ("weekly", _("weekly")), ("weekdays", _("Mon-Fri")), ("user", _("user defined"))]) self.timerentry_autosleepdelay = ConfigInteger(default=autosleepdelay, limits=(10, 300)) self.timerentry_autosleeprepeat = ConfigSelection( choices=[("once", _("once")), ("repeated", _("repeated"))], default=autosleeprepeat) self.timerentry_autosleepinstandbyonly = ConfigSelection( choices=[("yes", _("Yes")), ("no", _("No"))], default=autosleepinstandbyonly) self.timerentry_date = ConfigDateTime( default=self.timer.begin, formatstring=config.usage.date.full.value, increment=86400) self.timerentry_starttime = ConfigClock(default=self.timer.begin) self.timerentry_endtime = ConfigClock(default=self.timer.end) self.timerentry_showendtime = ConfigYesNo( default=(((self.timer.end - self.timer.begin) / 60) > 1)) self.timerentry_repeatedbegindate = ConfigDateTime( default=self.timer.repeatedbegindate, formatstring=config.usage.date.full.value, 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() for x in (0, 1, 2, 3, 4, 5, 6): self.timerentry_day.append(ConfigYesNo(default=day[x]))
def createConfig(self): afterevent = { AFTEREVENT.NONE: 'nothing', AFTEREVENT.WAKEUP: 'wakeup', AFTEREVENT.WAKEUPTOSTANDBY: 'wakeuptostandby', AFTEREVENT.STANDBY: 'standby', AFTEREVENT.DEEPSTANDBY: 'deepstandby' }[self.timer.afterEvent] timertype = { TIMERTYPE.NONE: 'nothing', TIMERTYPE.WAKEUP: 'wakeup', TIMERTYPE.WAKEUPTOSTANDBY: 'wakeuptostandby', TIMERTYPE.AUTOSTANDBY: 'autostandby', TIMERTYPE.AUTODEEPSTANDBY: 'autodeepstandby', TIMERTYPE.STANDBY: 'standby', TIMERTYPE.DEEPSTANDBY: 'deepstandby', TIMERTYPE.REBOOT: 'reboot', TIMERTYPE.RESTART: 'restart' }[self.timer.timerType] weekday_table = ('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun') time_table = [(1, '1'), (3, '3'), (5, '5'), (10, '10'), (15, '15'), (30, '30'), (45, '45'), (60, '60'), (75, '75'), (90, '90'), (105, '105'), (120, '120'), (135, '135'), (150, '150'), (165, '165'), (180, '180'), (195, '195'), (210, '210'), (225, '225'), (240, '240'), (255, '255'), (270, '270'), (285, '285'), (300, '300')] traffic_table = [(10, '10'), (50, '50'), (100, '100'), (500, '500'), (1000, '1000')] day = [] weekday = 0 for x in (0, 1, 2, 3, 4, 5, 6): day.append(0) if self.timer.repeated: type = 'repeated' if self.timer.repeated == 31: repeated = 'weekdays' elif self.timer.repeated == 127: repeated = 'daily' else: flags = self.timer.repeated repeated = 'user' count = 0 for x in (0, 1, 2, 3, 4, 5, 6): if flags == 1: print 'Set to weekday ' + str(x) weekday = x if flags & 1 == 1: day[x] = 1 count += 1 else: day[x] = 0 flags >>= 1 if count == 1: repeated = 'weekly' else: type = 'once' repeated = None weekday = int(strftime('%u', localtime(self.timer.begin))) - 1 day[weekday] = 1 if SystemInfo['DeepstandbySupport']: shutdownString = _('go to deep standby') else: shutdownString = _('shut down') self.timerentry_timertype = ConfigSelection(choices=[ ('nothing', _('do nothing')), ('wakeup', _('wakeup')), ('wakeuptostandby', _('wakeup to standby')), ('autostandby', _('auto standby')), ('autodeepstandby', _('auto deepstandby')), ('standby', _('go to standby')), ('deepstandby', shutdownString), ('reboot', _('reboot system')), ('restart', _('restart GUI')) ], default=timertype) self.timerentry_afterevent = ConfigSelection(choices=[ ('nothing', _('do nothing')), ('wakeup', _('wakeup')), ('wakeuptostandby', _('wakeup to standby')), ('standby', _('go to standby')), ('deepstandby', shutdownString) ], default=afterevent) self.timerentry_type = ConfigSelection(choices=[('once', _('once')), ('repeated', _('repeated'))], default=type) self.timerentry_repeated = ConfigSelection( default=repeated, choices=[('daily', _('daily')), ('weekly', _('weekly')), ('weekdays', _('Mon-Fri')), ('user', _('user defined'))]) self.timerrntry_autosleepdelay = ConfigSelection( choices=time_table, default=self.timer.autosleepdelay) self.timerentry_autosleeprepeat = ConfigSelection( choices=[('once', _('once')), ('repeated', _('repeated'))], default=self.timer.autosleeprepeat) self.timerrntry_autosleepinstandbyonly = ConfigSelection( choices=[('yes', _('only in Standby')), ('no', _('Standard (always)')), ('noquery', _('without Query'))], default=self.timer.autosleepinstandbyonly) self.timerrntry_autosleepwindow = ConfigSelection( choices=[('yes', _('Yes')), ('no', _('No'))], default=self.timer.autosleepwindow) self.timerrntry_autosleepbegin = ConfigClock( default=self.timer.autosleepbegin) self.timerrntry_autosleepend = ConfigClock( default=self.timer.autosleepend) self.timerentry_date = ConfigDateTime(default=self.timer.begin, formatstring=_('%d.%B %Y'), increment=86400) self.timerentry_starttime = ConfigClock(default=self.timer.begin) self.timerentry_endtime = ConfigClock(default=self.timer.end) self.timerentry_showendtime = ConfigSelection( default=(self.timer.end - self.timer.begin) / 60 > 4, choices=[(True, _('yes')), (False, _('no'))]) 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() for x in (0, 1, 2, 3, 4, 5, 6): self.timerentry_day.append(ConfigYesNo(default=day[x])) self.timerrntry_showExtended = ConfigSelection( default=self.timer.nettraffic == 'yes' or self.timer.netip == 'yes', choices=[(True, _('yes')), (False, _('no'))]) self.timerrntry_nettraffic = ConfigSelection( choices=[('yes', _('Yes')), ('no', _('No'))], default=self.timer.nettraffic) self.timerrntry_trafficlimit = ConfigSelection( choices=traffic_table, default=self.timer.trafficlimit) self.timerrntry_netip = ConfigSelection(choices=[('yes', _('Yes')), ('no', _('No'))], default=self.timer.netip) self.timerrntry_ipadress = self.timer.ipadress.split(',') self.ipcount = ConfigSelectionNumber(default=len( self.timerrntry_ipadress), stepwidth=1, min=1, max=5) self.ipadressEntry = ConfigSubList() for x in (0, 1, 2, 3, 4, 5): try: self.ipadressEntry.append( ConfigIP(default=[ int(n) for n in self.timerrntry_ipadress[x].split('.') ] or [0, 0, 0, 0])) except: self.ipadressEntry.append(ConfigIP(default=[0, 0, 0, 0]))
def createConfig(self): justplay = self.timer.justplay afterevent = { AFTEREVENT.NONE: "nothing", AFTEREVENT.DEEPSTANDBY: "deepstandby", AFTEREVENT.STANDBY: "standby", AFTEREVENT.AUTO: "auto" }[self.timer.afterEvent] weekday_table = ("mon", "tue", "wed", "thu", "fri", "sat", "sun") # calculate default values day = [] weekday = 0 for x in (0, 1, 2, 3, 4, 5, 6): day.append(0) if self.timer.repeated: # repeated type = "repeated" if (self.timer.repeated == 31): # Mon-Fri repeated = "weekdays" elif (self.timer.repeated == 127): # daily repeated = "daily" else: flags = self.timer.repeated repeated = "user" count = 0 for x in (0, 1, 2, 3, 4, 5, 6): if flags == 1: # weekly print "Set to weekday " + str(x) weekday = x if flags & 1 == 1: # set user defined flags day[x] = 1 count += 1 else: day[x] = 0 flags = flags >> 1 if count == 1: repeated = "weekly" else: # once type = "once" repeated = None weekday = (int(strftime("%w", localtime(self.timer.begin))) - 1) % 7 day[weekday] = 1 self.timerentry_justplay = ConfigSelection(choices=[("zap", _("zap")), ("record", _("record"))], default={ 0: "record", 1: "zap" }[justplay]) 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=[ 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_date = ConfigDateTime(default=self.timer.begin, formatstring=_("%d.%B %Y"), increment=86400) self.timerentry_starttime = ConfigClock(default=self.timer.begin) self.timerentry_endtime = ConfigClock(default=self.timer.end) self.timerentry_showendtime = ConfigSelection( default=((self.timer.end - self.timer.begin) > 4), choices=[(True, _("yes")), (False, _("no"))]) default = self.timer.dirname or defaultMoviePath() tmp = config.movielist.videodirs.value if default not in tmp: tmp.append(default) self.timerentry_dirname = ConfigSelection(default=default, choices=tmp) 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() for x in (0, 1, 2, 3, 4, 5, 6): self.timerentry_day.append(ConfigYesNo(default=day[x])) # FIXME some service-chooser needed here servicename = "N/A" try: # no current service available? servicename = str(self.timer.service_ref.getServiceName()) except: pass self.timerentry_service_ref = self.timer.service_ref self.timerentry_service = ConfigSelection([servicename])
def createConfig(self): justplay = self.timer.justplay always_zap = self.timer.always_zap rename_repeat = self.timer.rename_repeat afterevent = {AFTEREVENT.NONE: 'nothing', AFTEREVENT.DEEPSTANDBY: 'deepstandby', AFTEREVENT.STANDBY: 'standby', AFTEREVENT.AUTO: 'auto'}[self.timer.afterEvent] if self.timer.record_ecm and self.timer.descramble: recordingtype = 'descrambled+ecm' elif self.timer.record_ecm: recordingtype = 'scrambled+ecm' elif self.timer.descramble: recordingtype = 'normal' weekday_table = ('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun') day = [] weekday = 0 for x in (0, 1, 2, 3, 4, 5, 6): day.append(0) if self.timer.repeated: type = 'repeated' if self.timer.repeated == 31: repeated = 'weekdays' elif self.timer.repeated == 127: repeated = 'daily' else: flags = self.timer.repeated repeated = 'user' count = 0 for x in (0, 1, 2, 3, 4, 5, 6): if flags == 1: weekday = x if flags & 1 == 1: day[x] = 1 count += 1 else: day[x] = 0 flags >>= 1 if count == 1: repeated = 'weekly' else: type = 'once' repeated = None weekday = int(strftime('%u', localtime(self.timer.begin))) - 1 day[weekday] = 1 self.timerentry_justplay = ConfigSelection(choices=[('zap', _('zap')), ('record', _('record')), ('zap+record', _('zap and record'))], default={0: 'record', 1: 'zap', 2: 'zap+record'}[justplay + 2 * always_zap]) self.timertyp = self.timerentry_justplay.value 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_recordingtype = ConfigSelection(choices=[('normal', _('normal')), ('descrambled+ecm', _('descramble and record ecm')), ('scrambled+ecm', _("don't descramble, record ecm"))], default=recordingtype) self.timerentry_type = ConfigSelection(choices=[('once', _('once')), ('repeated', _('repeated'))], default=type) self.timerentry_name = ConfigText(default=self.timer.name.replace('\xc2\x86', '').replace('\xc2\x87', '').encode('utf-8'), visible_width=50, fixed_size=False) self.timerentry_description_replaced = self.timer.description.replace('\xc2\x8a', ' ').encode('utf-8') self.timerentry_description = ConfigText(default=self.timerentry_description_replaced, visible_width=50, fixed_size=False) self.timerentry_tags = self.timer.tags[:] if not self.timerentry_tags: tagname = self.timer.name.strip() if tagname: tagname = tagname[0].upper() + tagname[1:].replace(' ', '_') self.timerentry_tags.append(tagname) self.timerentry_tagsset = ConfigSelection(choices=[not self.timerentry_tags and 'None' or ' '.join(self.timerentry_tags)]) self.timerentry_repeated = ConfigSelection(default=repeated, choices=[('weekly', _('weekly')), ('daily', _('daily')), ('weekdays', _('Mon-Fri')), ('user', _('user defined'))]) self.timerentry_renamerepeat = ConfigYesNo(default=rename_repeat) self.timerentry_date = ConfigDateTime(default=self.timer.begin, formatstring=_('%d %B %Y'), increment=86400) self.timerentry_starttime = ConfigClock(default=self.timer.begin) self.timerentry_endtime = ConfigClock(default=self.timer.end) self.timerentry_showendtime = ConfigSelection(default=self.timer.end > self.timer.begin + 3 and self.timer.justplay, choices=[(True, _('yes')), (False, _('no'))]) default = self.timer.dirname or defaultMoviePath() tmp = config.movielist.videodirs.value if default not in tmp: tmp.append(default) self.timerentry_dirname = ConfigSelection(default=default, choices=tmp) 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() for x in (0, 1, 2, 3, 4, 5, 6): self.timerentry_day.append(ConfigYesNo(default=day[x])) servicename = 'N/A' try: servicename = str(self.timer.service_ref.getServiceName()) except: pass self.timerentry_service_ref = self.timer.service_ref self.timerentry_service = ConfigSelection([servicename])
from Tools import Notifications from SoftwareTools import iSoftwareTools from UpdatePlugin import UpdatePlugin from time import time, strftime, localtime from twisted.internet import reactor UPDATE_CHECK_NEVER = "0" UPDATE_CHECK_DAILY = "1" UPDATE_CHECK_WEEKLY = "7" UPDATE_CHECK_MONTHLY = "30" config.plugins.updatechecker = ConfigSubsection() config.plugins.updatechecker.checkonboot = ConfigEnableDisable(default=False) config.plugins.updatechecker.lastcheck = ConfigDateTime(0, "%Y-%m-%d %H:%M:%S") config.plugins.updatechecker.interval = ConfigSelection( choices=[ (UPDATE_CHECK_NEVER, _("never")), (UPDATE_CHECK_DAILY, _("daily")), (UPDATE_CHECK_WEEKLY, _("weekly")), (UPDATE_CHECK_MONTHLY, _("monthly")), ], default=UPDATE_CHECK_WEEKLY) class UpdateCheck(object): def __init__(self): self.onUpdatesAvailable = [] self._session = None self._onlineChangedConn = None
def createConfig(self): justplay = self.timer.justplay afterevent = { AFTEREVENT.NONE: "nothing", AFTEREVENT.DEEPSTANDBY: "deepstandby", AFTEREVENT.STANDBY: "standby", AFTEREVENT.AUTO: "auto" }[self.timer.afterEvent] weekday_table = ("mon", "tue", "wed", "thu", "fri", "sat", "sun") # calculate default values day = [] weekday = 0 for x in (0, 1, 2, 3, 4, 5, 6): day.append(0) if self.timer.repeated: # repeated type = "repeated" if (self.timer.repeated == 31): # Mon-Fri repeated = "weekdays" elif (self.timer.repeated == 127): # daily repeated = "daily" else: flags = self.timer.repeated repeated = "user" count = 0 for x in (0, 1, 2, 3, 4, 5, 6): if flags == 1: # weekly print("Set to weekday " + str(x)) weekday = x if flags & 1 == 1: # set user defined flags day[x] = 1 count += 1 else: day[x] = 0 flags = flags >> 1 if count == 1: repeated = "weekly" else: # once type = "once" repeated = None weekday = (int(strftime("%w", localtime(self.timer.begin))) - 1) % 7 day[weekday] = 1 if not config.misc.recording_allowed.value: self.timerentry_justplay = ConfigSelection(choices=[("zap", _("zap"))], default="zap") else: tmp_dir = self.timer.dirname or defaultMoviePath() if not harddiskmanager.inside_mountpoint(tmp_dir): justplay = 1 justplay_default = {0: "record", 1: "zap"}[justplay] self.timerentry_justplay = ConfigSelection( choices=[("zap", _("zap")), ("record", _("record"))], default=justplay_default) if SystemInfo["DeepstandbySupport"]: shutdownString = _("go to standby") else: shutdownString = _("shut down") self.timerentry_afterevent = ConfigSelection(choices=[ ("nothing", _("do nothing")), ("standby", _("go to idle mode")), ("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=[ 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_date = ConfigDateTime(default=self.timer.begin, formatstring=_("%d.%B %Y"), increment=86400) self.timerentry_starttime = ConfigClock(default=self.timer.begin) self.timerentry_endtime = ConfigClock(default=self.timer.end) self.timerentry_showendtime = ConfigSelection( default=((self.timer.end - self.timer.begin) > 4), choices=[(True, _("yes")), (False, _("no"))]) default = self.timer.dirname or defaultMoviePath() tmp = config.movielist.videodirs.value if default not in tmp: tmp.append(default) self.timerentry_dirname = ConfigSelection(default=default, choices=tmp) 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() for x in (0, 1, 2, 3, 4, 5, 6): self.timerentry_day.append(ConfigYesNo(default=day[x])) try: # no current service available? servicename = str(self.timer.service_ref.getServiceName()) except: pass servicename = servicename or "N/A" self.timerentry_service_ref = self.timer.service_ref self.timerentry_service = ConfigSelection([servicename]) self.timerentry_plugins = {} if config.usage.setup_level.index >= 2: from Plugins.Plugin import PluginDescriptor from Components.PluginComponent import plugins missing = list(self.timer.plugins.keys()) for p in plugins.getPlugins(PluginDescriptor.WHERE_TIMEREDIT): if "setupFnc" in p.__call__: setupFnc = p.__call__["setupFnc"] if setupFnc is not None: if "configListEntry" in p.__call__: entry = p.__call__["configListEntry"]() pdata = None if p.name in self.timer.plugins: pval = self.timer.plugins[p.name][0] pdata = self.timer.plugins[p.name][1] try: if isinstance(entry[1].value, bool): entry[1].value = (pval == "True") elif isinstance(entry[1].value, str): entry[1].value = str(pval) elif isinstance(entry[1].value, int): entry[1].value = int(pval) except ValueError: print("could not get config_val", pval, type(pval), "for WHERE_TIMEREDIT plugin:", p.name) break self.timerentry_plugins[entry] = [ p.name, setupFnc, pdata ] # [plugin name, function call for plugin setup, plugin private data] if p.name in missing: missing.remove(p.name) if len(missing): print("could not setup WHERE_TIMEREDIT plugin(s):", missing)
def createConfig(self): justplay = self.timer.justplay always_zap = self.timer.always_zap rename_repeat = self.timer.rename_repeat afterevent = { AFTEREVENT.NONE: "nothing", AFTEREVENT.DEEPSTANDBY: "deepstandby", AFTEREVENT.STANDBY: "standby", AFTEREVENT.AUTO: "auto" }[self.timer.afterEvent] if self.timer.record_ecm and self.timer.descramble: recordingtype = "descrambled+ecm" elif self.timer.record_ecm: recordingtype = "scrambled+ecm" elif self.timer.descramble: recordingtype = "normal" weekday_table = ("mon", "tue", "wed", "thu", "fri", "sat", "sun") # calculate default values weekday = 0 day = [False] * 7 if self.timer.repeated: # repeated repeat_type = "repeated" if self.timer.repeated == 31: # Mon-Fri repeated = "weekdays" elif self.timer.repeated == 127: # daily repeated = "daily" else: flags = self.timer.repeated day = [bool(flags & (1 << n)) for n in range(7)] if sum(day) == 1: repeated = "weekly" weekday = day.index(True) else: repeated = "user" else: # once repeat_type = "once" repeated = None weekday = localtime(self.timer.begin).tm_wday day[weekday] = 1 self.timerentry_justplay = ConfigSelection( choices=[("zap", _("zap")), ("record", _("record")), ("zap+record", _("zap and record"))], default={ 0: "record", 1: "zap", 2: "zap+record" }[justplay + 2 * always_zap]) 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_recordingtype = ConfigSelection(choices=[ ("normal", _("normal")), ("descrambled+ecm", _("descramble and record ecm")), ("scrambled+ecm", _("don't descramble, record ecm")) ], default=recordingtype) self.timerentry_type = ConfigSelection(choices=[("once", _("once")), ("repeated", _("repeated"))], default=repeat_type) self.timerentry_name = ConfigText(default=self.timer.name.replace( '\xc2\x86', '').replace('\xc2\x87', '').encode("utf-8"), 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[:] # if no tags found, make name of event default tag set. if not self.timerentry_tags: tagname = self.timer.name.strip() if tagname: tagname = tagname[0].upper() + tagname[1:].replace(" ", "_") self.timerentry_tags.append(tagname) self.timerentry_tagsset = ConfigSelection(choices=[ not self.timerentry_tags and "None" or " ".join(self.timerentry_tags) ]) self.timerentry_repeated = ConfigSelection(choices=[ ("weekly", _("weekly")), ("daily", _("daily")), ("weekdays", _("Mon-Fri")), ("user", _("user defined")) ], default=repeated) self.timerentry_renamerepeat = ConfigYesNo(default=rename_repeat) self.timerentry_date = ConfigDateTime( default=self.timer.begin, formatstring=config.usage.date.daylong.value, increment=24 * 60 * 60) self.timerentry_starttime = ConfigClock(default=self.timer.begin) self.timerentry_endtime = ConfigClock(default=self.timer.end) duration = self.timer.end - self.timer.begin self.timerentry_showendtime = ConfigSelection( default=duration > 4 and duration != config.recording.margin_before.value * 60 + 1, choices=[(True, _("yes")), (False, _("no"))]) default = self.timer.dirname or defaultMoviePath() tmp = config.movielist.videodirs.value if default not in tmp: tmp.append(default) tmp = [(p, friendlyMoviePath(p, trailing=False)) for p in tmp] self.timerentry_dirname = ConfigSelection(default=default, choices=tmp) self.timerentry_repeatedbegindate = ConfigDateTime( default=self.timer.repeatedbegindate, formatstring=config.usage.date.daylong.value, increment=24 * 60 * 60) 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(7): self.timerentry_day.append(ConfigYesNo(default=day[x])) # FIXME some service-chooser needed here servicename = "N/A" try: # no current service available? servicename = str(self.timer.service_ref.getServiceName()) except: pass self.timerentry_service_ref = self.timer.service_ref self.timerentry_service = ConfigSelection([servicename]) self.eventName, self.eventDescription, __ = self.getEventInfo() for i in [ self.timerentry_type, self.timerentry_repeated, self.timerentry_date, self.timerentry_starttime, self.timerentry_endtime, self.timerentry_repeatedbegindate, self.timerentry_weekday, ] + self.timerentry_day[0:7]: i.addNotifier(self.updateEventInfo) self.timerentry_name.addNotifier(self.nameInfoUpdated, immediate_feedback=False) self.timerentry_description.addNotifier(self.descriptionInfoUpdated, immediate_feedback=False)
def createConfig(self, currlocation=None, locations=[]): justplay = self.timer.justplay always_zap = self.timer.always_zap zap_wakeup = self.timer.zap_wakeup pipzap = self.timer.pipzap rename_repeat = self.timer.rename_repeat conflict_detection = self.timer.conflict_detection afterevent = { AFTEREVENT.NONE: "nothing", AFTEREVENT.DEEPSTANDBY: "deepstandby", AFTEREVENT.STANDBY: "standby", AFTEREVENT.AUTO: "auto" }[self.timer.afterEvent] if self.timer.record_ecm and self.timer.descramble: recordingtype = "descrambled+ecm" elif self.timer.record_ecm: recordingtype = "scrambled+ecm" elif self.timer.descramble: recordingtype = "normal" weekday_table = ("mon", "tue", "wed", "thu", "fri", "sat", "sun") day = list( [int(x) for x in reversed('{0:07b}'.format(self.timer.repeated))]) weekday = 0 if self.timer.repeated: # repeated type = "repeated" if (self.timer.repeated == 31): # Mon-Fri repeated = "weekdays" elif (self.timer.repeated == 127): # daily repeated = "daily" else: repeated = "user" if day.count(1) == 1: repeated = "weekly" weekday = day.index(1) else: # once type = "once" repeated = None weekday = int(strftime("%u", localtime(self.timer.begin))) - 1 day[weekday] = 1 self.timerentry_fallback = ConfigYesNo( default=self.timer.external_prev or config.usage.remote_fallback_external_timer.value and config.usage. remote_fallback.value and not nimmanager.somethingConnected()) self.timerentry_justplay = ConfigSelection( choices=[("zap", _("zap")), ("record", _("record")), ("zap+record", _("zap and record"))], default={ 0: "record", 1: "zap", 2: "zap+record" }[justplay + 2 * always_zap]) if SystemInfo["DeepstandbySupport"]: shutdownString = _("go to deep standby") choicelist = [("always", _("always")), ("from_standby", _("only from standby")), ("from_deep_standby", _("only from deep standby")), ("never", _("never"))] else: shutdownString = _("shut down") choicelist = [("always", _("always")), ("never", _("never"))] self.timerentry_zapwakeup = ConfigSelection(choices=choicelist, default=zap_wakeup) self.timerentry_afterevent = ConfigSelection(choices=[ ("nothing", _("do nothing")), ("standby", _("go to standby")), ("deepstandby", shutdownString), ("auto", _("auto")) ], default=afterevent) self.timerentry_recordingtype = ConfigSelection(choices=[ ("normal", _("normal")), ("descrambled+ecm", _("descramble and record ecm")), ("scrambled+ecm", _("don't descramble, record ecm")) ], default=recordingtype) 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=[ not self.timerentry_tags and _("None") or " ".join(self.timerentry_tags) ]) self.timerentry_repeated = ConfigSelection( default=repeated, choices=[("weekly", _("weekly")), ("daily", _("daily")), ("weekdays", _("Mon-Fri")), ("user", _("user defined"))]) self.timerentry_renamerepeat = ConfigYesNo(default=rename_repeat) self.timerentry_pipzap = ConfigYesNo(default=pipzap) self.timerentry_conflictdetection = ConfigYesNo( default=conflict_detection) self.timerentry_date = ConfigDateTime( default=self.timer.begin, formatstring=config.usage.date.full.value, increment=86400) self.timerentry_starttime = ConfigClock(default=self.timer.begin) self.timerentry_endtime = ConfigClock(default=self.timer.end) self.timerentry_showendtime = ConfigSelection( default=((self.timer.end - self.timer.begin) > 4), choices=[(True, _("yes")), (False, _("no"))]) default = not self.timer.external_prev and self.timer.dirname or defaultMoviePath( ) tmp = config.movielist.videodirs.value if default not in tmp: tmp.append(default) self.timerentry_dirname = ConfigSelection(default=default, choices=tmp) default = self.timer.external_prev and self.timer.dirname or currlocation if default not in locations: locations.append(default) self.timerentry_fallbackdirname = ConfigSelection(default=default, choices=locations) self.timerentry_repeatedbegindate = ConfigDateTime( default=self.timer.repeatedbegindate, formatstring=config.usage.date.full.value, 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() for x in (0, 1, 2, 3, 4, 5, 6): self.timerentry_day.append(ConfigYesNo(default=day[x])) # FIXME some service-chooser needed here servicename = "N/A" try: # no current service available? servicename = str(self.timer.service_ref.getServiceName()) except: pass self.timerentry_service_ref = self.timer.service_ref self.timerentry_service = ConfigSelection([servicename]) self.createSetup("config")
def createConfig(self): justplay = self.timer.justplay always_zap = self.timer.always_zap rename_repeat = self.timer.rename_repeat afterevent = { AFTEREVENT.NONE: "nothing", AFTEREVENT.DEEPSTANDBY: "deepstandby", AFTEREVENT.STANDBY: "standby", AFTEREVENT.AUTO: "auto" }[self.timer.afterEvent] if self.timer.record_ecm and self.timer.descramble: recordingtype = "descrambled+ecm" elif self.timer.record_ecm: recordingtype = "scrambled+ecm" elif self.timer.descramble: recordingtype = "normal" weekday_table = ("mon", "tue", "wed", "thu", "fri", "sat", "sun") # calculate default values day = [] weekday = 0 for x in (0, 1, 2, 3, 4, 5, 6): day.append(0) if self.timer.repeated: # repeated type = "repeated" if self.timer.repeated == 31: # Mon-Fri repeated = "weekdays" elif self.timer.repeated == 127: # daily repeated = "daily" else: flags = self.timer.repeated repeated = "user" count = 0 for x in (0, 1, 2, 3, 4, 5, 6): if flags == 1: # weekly # print "Set to weekday " + str(x) weekday = x if flags & 1 == 1: # set user defined flags day[x] = 1 count += 1 else: day[x] = 0 flags >>= 1 if count == 1: repeated = "weekly" else: # once type = "once" repeated = None weekday = int(strftime("%u", localtime(self.timer.begin))) - 1 day[weekday] = 1 self.timerentry_justplay = ConfigSelection( choices=[("zap", _("zap")), ("record", _("record")), ("zap+record", _("zap and record"))], default={ 0: "record", 1: "zap", 2: "zap+record" }[justplay + 2 * always_zap]) self.timertyp = self.timerentry_justplay.value 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_recordingtype = ConfigSelection(choices=[ ("normal", _("normal")), ("descrambled+ecm", _("descramble and record ecm")), ("scrambled+ecm", _("don't descramble, record ecm")) ], default=recordingtype) self.timerentry_type = ConfigSelection(choices=[("once", _("once")), ("repeated", _("repeated"))], default=type) self.timerentry_name = ConfigText(default=self.timer.name.replace( '\xc2\x86', '').replace('\xc2\x87', '').encode("utf-8"), visible_width=50, fixed_size=False) self.timerentry_description_replaced = self.timer.description.replace( '\xc2\x8a', ' ').encode("utf-8") self.timerentry_description = ConfigText( default=self.timerentry_description_replaced, visible_width=50, fixed_size=False) self.timerentry_tags = self.timer.tags[:] # if no tags found, make name of event default tag set. if not self.timerentry_tags: tagname = self.timer.name.strip() if tagname: tagname = tagname[0].upper() + tagname[1:].replace(" ", "_") self.timerentry_tags.append(tagname) self.timerentry_tagsset = ConfigSelection(choices=[ not self.timerentry_tags and "None" or " ".join(self.timerentry_tags) ]) self.timerentry_repeated = ConfigSelection( default=repeated, choices=[("weekly", _("weekly")), ("daily", _("daily")), ("weekdays", _("Mon-Fri")), ("user", _("user defined"))]) self.timerentry_renamerepeat = ConfigYesNo(default=rename_repeat) self.timerentry_date = ConfigDateTime(default=self.timer.begin, formatstring=_("%d %B %Y"), increment=86400) self.timerentry_starttime = ConfigClock(default=self.timer.begin) self.timerentry_endtime = ConfigClock(default=self.timer.end) #self.timerentry_showendtime = ConfigSelection(default = False, choices = [(True, _("yes")), (False, _("no"))]) self.timerentry_showendtime = ConfigSelection( default=(self.timer.end > self.timer.begin + 3 and self.timer.justplay), choices=[(True, _("yes")), (False, _("no"))]) default = self.timer.dirname or defaultMoviePath() tmp = config.movielist.videodirs.value if default not in tmp: tmp.append(default) self.timerentry_dirname = ConfigSelection(default=default, choices=tmp) 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() for x in (0, 1, 2, 3, 4, 5, 6): self.timerentry_day.append(ConfigYesNo(default=day[x])) # FIXME some service-chooser needed here servicename = "N/A" try: # no current service available? servicename = str(self.timer.service_ref.getServiceName()) except: pass self.timerentry_service_ref = self.timer.service_ref self.timerentry_service = ConfigSelection([servicename])
def createConfig(self): afterevent = { AFTEREVENT.NONE: "nothing", AFTEREVENT.WAKEUP: "wakeup", AFTEREVENT.WAKEUPTOSTANDBY: "wakeuptostandby", AFTEREVENT.STANDBY: "standby", AFTEREVENT.DEEPSTANDBY: "deepstandby" }[self.timer.afterEvent] timertype = { TIMERTYPE.NONE: "nothing", TIMERTYPE.WAKEUP: "wakeup", TIMERTYPE.WAKEUPTOSTANDBY: "wakeuptostandby", TIMERTYPE.AUTOSTANDBY: "autostandby", TIMERTYPE.AUTODEEPSTANDBY: "autodeepstandby", TIMERTYPE.STANDBY: "standby", TIMERTYPE.DEEPSTANDBY: "deepstandby", TIMERTYPE.REBOOT: "reboot", TIMERTYPE.RESTART: "restart" }[self.timer.timerType] weekday_table = ("mon", "tue", "wed", "thu", "fri", "sat", "sun") time_table = [(1, "1"), (3, "3"), (5, "5"), (10, "10"), (15, "15"), (30, "30"), (45, "45"), (60, "60"), (75, "75"), (90, "90"), (105, "105"), (120, "120"), (135, "135"), (150, "150"), (165, "165"), (180, "180"), (195, "195"), (210, "210"), (225, "225"), (240, "240"), (255, "255"), (270, "270"), (285, "285"), (300, "300")] traffic_table = [(10, "10"), (50, "50"), (100, "100"), (500, "500"), (1000, "1000")] # calculate default values day = [] weekday = 0 for x in (0, 1, 2, 3, 4, 5, 6): day.append(0) if self.timer.repeated: # repeated type = "repeated" if self.timer.repeated == 31: # Mon-Fri repeated = "weekdays" elif self.timer.repeated == 127: # daily repeated = "daily" else: flags = self.timer.repeated repeated = "user" count = 0 for x in (0, 1, 2, 3, 4, 5, 6): if flags == 1: # weekly print "Set to weekday " + str(x) weekday = x if flags & 1 == 1: # set user defined flags day[x] = 1 count += 1 else: day[x] = 0 flags >>= 1 if count == 1: repeated = "weekly" else: # once type = "once" repeated = None weekday = int(strftime("%u", localtime(self.timer.begin))) - 1 day[weekday] = 1 if SystemInfo["DeepstandbySupport"]: shutdownString = _("go to deep standby") else: shutdownString = _("shut down") self.timerentry_timertype = ConfigSelection(choices=[("nothing", _("do nothing")), ("wakeup", _("wakeup")), ("wakeuptostandby", _("wakeup to standby")), ("autostandby", _("auto standby")), ("autodeepstandby", _("auto deepstandby")), ("standby", _("go to standby")), ("deepstandby", shutdownString), ("reboot", _("reboot system")), ("restart", _("restart GUI"))], default=timertype) self.timerentry_afterevent = ConfigSelection(choices=[("nothing", _("do nothing")), ("wakeup", _("wakeup")), ("wakeuptostandby", _("wakeup to standby")), ("standby", _("go to standby")), ("deepstandby", shutdownString), ("nothing", _("do nothing"))], default=afterevent) self.timerentry_type = ConfigSelection(choices=[("once", _("once")), ("repeated", _("repeated"))], default=type) self.timerentry_repeated = ConfigSelection(default=repeated, choices=[("daily", _("daily")), ("weekly", _("weekly")), ("weekdays", _("Mon-Fri")), ("user", _("user defined"))]) self.timerrntry_autosleepdelay = ConfigSelection(choices=time_table, default=self.timer.autosleepdelay) self.timerentry_autosleeprepeat = ConfigSelection(choices=[("once", _("once")), ("repeated", _("repeated"))], default=self.timer.autosleeprepeat) self.timerrntry_autosleepinstandbyonly = ConfigSelection(choices=[("yes", _("only in Standby")), ("no", _("Standard (always)")), ("noquery", _("without Query"))], default=self.timer.autosleepinstandbyonly) self.timerrntry_autosleepwindow = ConfigSelection(choices=[("yes", _("Yes")), ("no", _("No"))], default=self.timer.autosleepwindow) self.timerrntry_autosleepbegin = ConfigClock(default=self.timer.autosleepbegin) self.timerrntry_autosleepend = ConfigClock(default=self.timer.autosleepend) self.timerentry_date = ConfigDateTime(default=self.timer.begin, formatstring=_("%d.%B %Y"), increment=86400) self.timerentry_starttime = ConfigClock(default=self.timer.begin) self.timerentry_endtime = ConfigClock(default=self.timer.end) self.timerentry_showendtime = ConfigSelection(default=(((self.timer.end - self.timer.begin) / 60) > 4), choices=[(True, _("yes")), (False, _("no"))]) 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() for x in (0, 1, 2, 3, 4, 5, 6): self.timerentry_day.append(ConfigYesNo(default=day[x])) self.timerrntry_showExtended = ConfigSelection(default=(self.timer.nettraffic == "yes" or self.timer.netip == "yes"), choices=[(True, _("yes")), (False, _("no"))]) self.timerrntry_nettraffic = ConfigSelection(choices=[("yes", _("Yes")), ("no", _("No"))], default=self.timer.nettraffic) self.timerrntry_trafficlimit = ConfigSelection(choices=traffic_table, default=self.timer.trafficlimit) self.timerrntry_netip = ConfigSelection(choices=[("yes", _("Yes")), ("no", _("No"))], default=self.timer.netip) self.timerrntry_ipadress = self.timer.ipadress.split(',') self.ipcount = ConfigSelectionNumber(default=len(self.timerrntry_ipadress), stepwidth=1, min=1, max=5) self.ipadressEntry = ConfigSubList() for x in (0, 1, 2, 3, 4, 5): try: self.ipadressEntry.append(ConfigIP(default=[int(n) for n in self.timerrntry_ipadress[x].split('.')] or [0, 0, 0, 0])) except: self.ipadressEntry.append(ConfigIP(default=[0, 0, 0, 0]))