def analyse(was_paused=False): """ Determine what pause/resume state we would have now. """ paused = None paused_all = False pause_post = False speedlimit = None servers = {} for ev in sort_schedules(forward=False): logging.debug('Schedule check result = %s', ev) action = ev[1] try: value = ev[2] except: value = None if action == 'pause': paused = True elif action == 'pause_all': paused_all = True elif action == 'resume': paused = False paused_all = False elif action == 'pause_post': pause_post = True elif action == 'resume_post': pause_post = False elif action == 'speedlimit' and value != None: speedlimit = int(ev[2]) elif action == 'enable_server': try: servers[value] = 1 except: logging.warning(Ta('Schedule for non-existing server %s'), value) elif action == 'disable_server': try: servers[value] = 0 except: logging.warning(Ta('Schedule for non-existing server %s'), value) if not was_paused: if paused_all: sabnzbd.pause_all() else: sabnzbd.unpause_all() sabnzbd.downloader.Downloader.do.set_paused_state(paused or paused_all) PostProcessor.do.paused = pause_post if speedlimit: sabnzbd.downloader.Downloader.do.limit_speed(speedlimit) for serv in servers: try: config.get_config('servers', serv).enable.set(servers[serv]) except: pass config.save_config()
def disable_server(server): """ Disable server (scheduler only) """ try: config.get_config("servers", server).enable.set(0) except: logging.warning(T("Trying to set status of non-existing server %s"), server) return config.save_config() Downloader.do.update_server(server, server)
def disable_server(server): """ Disable server (scheduler only) """ try: config.get_config('servers', server).enable.set(0) except: logging.warning(T('Trying to set status of non-existing server %s'), server) return config.save_config() Downloader.do.update_server(server, server)
def enable_server(server): """ Enable server (scheduler only) """ try: config.get_config("servers", server).enable.set(1) except: logging.warning(T("Trying to set status of non-existing server %s"), server) return config.save_config() Downloader.do.update_server(server, server)
def enable_server(server): """ Enable server (scheduler only) """ try: config.get_config('servers', server).enable.set(1) except: logging.warning(T('Trying to set status of non-existing server %s'), server) return config.save_config() Downloader.do.update_server(server, server)
def analyse(was_paused=False): """ Determine what pause/resume state we would have now. """ paused = None paused_all = False pause_post = False speedlimit = None servers = {} for ev in sort_schedules(forward=False): logging.debug('Schedule check result = %s', ev) action = ev[1] try: value = ev[2] except: value = None if action == 'pause': paused = True elif action == 'pause_all': paused_all = True elif action == 'resume': paused = False paused_all = False elif action == 'pause_post': pause_post = True elif action == 'resume_post': pause_post = False elif action == 'speedlimit' and value!=None: speedlimit = int(ev[2]) elif action == 'enable_server': try: servers[value] = 1 except: logging.warning(Ta('Schedule for non-existing server %s'), value) elif action == 'disable_server': try: servers[value] = 0 except: logging.warning(Ta('Schedule for non-existing server %s'), value) if not was_paused: if paused_all: sabnzbd.pause_all() else: sabnzbd.unpause_all() sabnzbd.downloader.Downloader.do.set_paused_state(paused or paused_all) PostProcessor.do.paused = pause_post if speedlimit: sabnzbd.downloader.Downloader.do.limit_speed(speedlimit) for serv in servers: try: config.get_config('servers', serv).enable.set(servers[serv]) except: pass config.save_config()
def analyse(was_paused=False): """ Determine what pause/resume state we would have now. """ paused = None paused_all = False pause_post = False speedlimit = None servers = {} for ev in sort_schedules(all_events=True): logging.debug("Schedule check result = %s", ev) action = ev[1] try: value = ev[2] except: value = None if action == "pause": paused = True elif action == "pause_all": paused_all = True elif action == "resume": paused = False paused_all = False elif action == "pause_post": pause_post = True elif action == "resume_post": pause_post = False elif action == "speedlimit" and value != None: speedlimit = int(ev[2]) elif action == "enable_server": try: servers[value] = 1 except: logging.warning(Ta("Schedule for non-existing server %s"), value) elif action == "disable_server": try: servers[value] = 0 except: logging.warning(Ta("Schedule for non-existing server %s"), value) if not was_paused: if paused_all: sabnzbd.pause_all() else: sabnzbd.unpause_all() sabnzbd.downloader.Downloader.do.set_paused_state(paused or paused_all) PostProcessor.do.paused = pause_post if speedlimit: sabnzbd.downloader.Downloader.do.limit_speed(speedlimit) for serv in servers: try: item = config.get_config("servers", serv) value = servers[serv] if bool(item.enable()) != bool(value): item.enable.set(value) sabnzbd.downloader.Downloader.do.init_server(serv, serv) except: pass config.save_config()
def analyse(was_paused=False, priority=None): """ Determine what pause/resume state we would have now. 'priority': evaluate only effect for given priority, return True for paused """ global PP_PAUSE_EVENT PP_PAUSE_EVENT = False paused = None paused_all = False pause_post = False pause_low = pause_normal = pause_high = False speedlimit = None quota = True servers = {} for ev in sort_schedules(all_events=True): if priority is None: logging.debug('Schedule check result = %s', ev) action = ev[1] try: value = ev[2] except: value = None if action == 'pause': paused = True elif action == 'pause_all': paused_all = True PP_PAUSE_EVENT = True elif action == 'resume': paused = False paused_all = False elif action == 'pause_post': pause_post = True PP_PAUSE_EVENT = True elif action == 'resume_post': pause_post = False PP_PAUSE_EVENT = True elif action == 'speedlimit' and value is not None: speedlimit = ev[2] elif action == 'pause_all_low': pause_low = True elif action == 'pause_all_normal': pause_normal = True elif action == 'pause_all_high': pause_high = True elif action == 'resume_all_low': pause_low = False elif action == 'resume_all_normal': pause_normal = False elif action == 'resume_all_high': pause_high = False elif action == 'enable_quota': quota = True elif action == 'disable_quota': quota = False elif action == 'enable_server': try: servers[value] = 1 except: logging.warning(T('Schedule for non-existing server %s'), value) elif action == 'disable_server': try: servers[value] = 0 except: logging.warning(T('Schedule for non-existing server %s'), value) # Special case, a priority was passed, so evaluate only that and return state if priority == LOW_PRIORITY: return pause_low if priority == NORMAL_PRIORITY: return pause_normal if priority == HIGH_PRIORITY: return pause_high if priority is not None: return False # Normal analysis if not was_paused: if paused_all: sabnzbd.pause_all() else: sabnzbd.unpause_all() sabnzbd.downloader.Downloader.do.set_paused_state(paused or paused_all) PostProcessor.do.paused = pause_post if speedlimit is not None: sabnzbd.downloader.Downloader.do.limit_speed(speedlimit) sabnzbd.bpsmeter.BPSMeter.do.set_status(quota, action=False) for serv in servers: try: item = config.get_config('servers', serv) value = servers[serv] if bool(item.enable()) != bool(value): item.enable.set(value) sabnzbd.downloader.Downloader.do.init_server(serv, serv) except: pass config.save_config()
def analyse(self, was_paused=False, priority=None): """Determine what pause/resume state we would have now. 'priority': evaluate only effect for given priority, return True for paused """ self.pp_pause_event = False paused = None paused_all = False pause_post = False pause_low = pause_normal = pause_high = False speedlimit = None quota = True servers = {} for ev in sort_schedules(all_events=True): if priority is None: logging.debug("Schedule check result = %s", ev) # Skip if disabled if ev[4] == "0": continue action = ev[1] try: value = ev[2] except: value = None if action == "pause": paused = True elif action == "pause_all": paused_all = True self.pp_pause_event = True elif action == "resume": paused = False paused_all = False elif action == "pause_post": pause_post = True self.pp_pause_event = True elif action == "resume_post": pause_post = False self.pp_pause_event = True elif action == "speedlimit" and value is not None: speedlimit = ev[2] elif action == "pause_all_low": pause_low = True elif action == "pause_all_normal": pause_normal = True elif action == "pause_all_high": pause_high = True elif action == "resume_all_low": pause_low = False elif action == "resume_all_normal": pause_normal = False elif action == "resume_all_high": pause_high = False elif action == "enable_quota": quota = True elif action == "disable_quota": quota = False elif action == "enable_server": try: servers[value] = 1 except: logging.warning(T("Schedule for non-existing server %s"), value) elif action == "disable_server": try: servers[value] = 0 except: logging.warning(T("Schedule for non-existing server %s"), value) # Special case, a priority was passed, so evaluate only that and return state if priority == LOW_PRIORITY: return pause_low if priority == NORMAL_PRIORITY: return pause_normal if priority == HIGH_PRIORITY: return pause_high if priority is not None: return False # Normal analysis if not was_paused: if paused_all: sabnzbd.pause_all() else: sabnzbd.unpause_all() sabnzbd.Downloader.set_paused_state(paused or paused_all) sabnzbd.PostProcessor.paused = pause_post if speedlimit is not None: sabnzbd.Downloader.limit_speed(speedlimit) sabnzbd.BPSMeter.set_status(quota, action=False) for serv in servers: try: item = config.get_config("servers", serv) value = servers[serv] if bool(item.enable()) != bool(value): item.enable.set(value) sabnzbd.Downloader.init_server(serv, serv) except: pass config.save_config()