From e78392f04ab8b3ae9367f70eb176218c0d055586 Mon Sep 17 00:00:00 2001 From: echel0n Date: Mon, 15 Sep 2014 02:23:11 -0700 Subject: [PATCH] Backlog frequency determined by algo that takes into account daily search frequency to prevent overlap of searches, automatically calculates allowed minimum value that is user-settable --- .../interfaces/default/config_search.tmpl | 1 + sickbeard/__init__.py | 19 ++++++++++++------- sickbeard/webserve.py | 4 ++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/gui/slick/interfaces/default/config_search.tmpl b/gui/slick/interfaces/default/config_search.tmpl index 98eb6a59..83e327b0 100644 --- a/gui/slick/interfaces/default/config_search.tmpl +++ b/gui/slick/interfaces/default/config_search.tmpl @@ -84,6 +84,7 @@ diff --git a/sickbeard/__init__.py b/sickbeard/__init__.py index 0cf4e284..e7ba0094 100755 --- a/sickbeard/__init__.py +++ b/sickbeard/__init__.py @@ -192,19 +192,20 @@ ALLOW_HIGH_PRIORITY = False AUTOPOSTPROCESSER_FREQUENCY = None DAILYSEARCH_FREQUENCY = None UPDATE_FREQUENCY = None -BACKLOG_FREQUENCY = None DAILYSEARCH_STARTUP = False +BACKLOG_FREQUENCY = None BACKLOG_STARTUP = False -MIN_AUTOPOSTPROCESSER_FREQUENCY = 1 -MIN_BACKLOG_FREQUENCY = 1440 -MIN_DAILYSEARCH_FREQUENCY = 10 -MIN_UPDATE_FREQUENCY = 1 DEFAULT_AUTOPOSTPROCESSER_FREQUENCY = 10 -DEFAULT_BACKLOG_FREQUENCY = 10080 -DEFAULT_DAILYSEARCH_FREQUENCY = 60 +DEFAULT_DAILYSEARCH_FREQUENCY = 40 +DEFAULT_BACKLOG_FREQUENCY = 21 DEFAULT_UPDATE_FREQUENCY = 1 +MIN_AUTOPOSTPROCESSER_FREQUENCY = 1 +MIN_DAILYSEARCH_FREQUENCY = 10 +MIN_BACKLOG_FREQUENCY = 10 +MIN_UPDATE_FREQUENCY = 1 + BACKLOG_DAYS = 7 ADD_SHOWS_WO_DIR = False @@ -446,6 +447,9 @@ TRAKT_API_KEY = 'abd806c54516240c76e4ebc9c5ccf394' __INITIALIZED__ = False +def get_backlog_cycle_time(): + cycletime = DAILYSEARCH_FREQUENCY * 2 + 7 + return max([cycletime, 720]) def initialize(consoleLogging=True): with INIT_LOCK: @@ -663,6 +667,7 @@ def initialize(consoleLogging=True): if DAILYSEARCH_FREQUENCY < MIN_DAILYSEARCH_FREQUENCY: DAILYSEARCH_FREQUENCY = MIN_DAILYSEARCH_FREQUENCY + MIN_BACKLOG_FREQUENCY = get_backlog_cycle_time() BACKLOG_FREQUENCY = check_setting_int(CFG, 'General', 'backlog_frequency', DEFAULT_BACKLOG_FREQUENCY) if BACKLOG_FREQUENCY < MIN_BACKLOG_FREQUENCY: BACKLOG_FREQUENCY = MIN_BACKLOG_FREQUENCY diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py index 9ea33a72..1ad1f776 100644 --- a/sickbeard/webserve.py +++ b/sickbeard/webserve.py @@ -1616,7 +1616,7 @@ class ConfigSearch(MainHandler): def saveSearch(self, use_nzbs=None, use_torrents=None, nzb_dir=None, sab_username=None, sab_password=None, sab_apikey=None, sab_category=None, sab_host=None, nzbget_username=None, nzbget_password=None, - nzbget_category=None, nzbget_priority=100, nzbget_host=None, nzbget_use_https=None, + nzbget_category=None, nzbget_priority=None, nzbget_host=None, nzbget_use_https=None, backlog_days=None, backlog_frequency=None, dailysearch_frequency=None, nzb_method=None, torrent_method=None, usenet_retention=None, download_propers=None, check_propers_interval=None, allow_high_priority=None, @@ -1666,7 +1666,7 @@ class ConfigSearch(MainHandler): sickbeard.NZBGET_CATEGORY = nzbget_category sickbeard.NZBGET_HOST = config.clean_host(nzbget_host) sickbeard.NZBGET_USE_HTTPS = config.checkbox_to_value(nzbget_use_https) - sickbeard.NZBGET_PRIORITY = int(nzbget_priority) + sickbeard.NZBGET_PRIORITY = config.to_int(nzbget_priority, default=100) sickbeard.TORRENT_USERNAME = torrent_username sickbeard.TORRENT_PASSWORD = torrent_password