From 6a02edd7fc2354fbc90f0d5f930f09a5baa677a3 Mon Sep 17 00:00:00 2001 From: echel0n Date: Mon, 19 May 2014 19:29:51 -0700 Subject: [PATCH] Added search options to NZB providers --- .../interfaces/default/config_providers.tmpl | 47 +++++++++++++++++++ sickbeard/__init__.py | 22 +++++++++ sickbeard/webserve.py | 22 ++++++++- 3 files changed, 90 insertions(+), 1 deletion(-) diff --git a/gui/slick/interfaces/default/config_providers.tmpl b/gui/slick/interfaces/default/config_providers.tmpl index ed2d72b9..56a1e0f4 100644 --- a/gui/slick/interfaces/default/config_providers.tmpl +++ b/gui/slick/interfaces/default/config_providers.tmpl @@ -201,6 +201,7 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#; #end if + #end for @@ -223,6 +224,52 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#; #end if + + #if $hasattr($curNewznabProvider, 'backlog_only'): +
+ + +
+ #end if + + #if $hasattr($curNzbProvider, 'search_fallback'): +
+ + +
+ #end if + + #if $hasattr($curNzbProvider, 'search_mode'): +
+ +
+ #end if + #end for diff --git a/sickbeard/__init__.py b/sickbeard/__init__.py index 19eb4bd8..63e9d705 100644 --- a/sickbeard/__init__.py +++ b/sickbeard/__init__.py @@ -1038,6 +1038,19 @@ def initialize(consoleLogging=True): if hasattr(curNzbProvider, 'username'): curNzbProvider.username = check_setting_str(CFG, curNzbProvider.getID().upper(), curNzbProvider.getID() + '_username', '') + if hasattr(curNzbProvider, 'search_mode'): + curNzbProvider.search_mode = check_setting_str(CFG, curNzbProvider.getID().upper(), + curNzbProvider.getID() + '_search_mode', + 'eponly') + if hasattr(curNzbProvider, 'search_fallback'): + curNzbProvider.search_fallback = bool(check_setting_int(CFG, curNzbProvider.getID().upper(), + curNzbProvider.getID() + '_search_fallback', + 0)) + if hasattr(curNzbProvider, 'backlog_only'): + curNzbProvider.backlog_only = bool(check_setting_int(CFG, curNzbProvider.getID().upper(), + curNzbProvider.getID() + '_backlog_only', + 0)) + try: url = 'http://raw.github.com/echel0n/sickrage-init/master/settings.ini' clear_cache = ElementTree.XML(helpers.getURL(url)).find('cache/clear').text @@ -1442,6 +1455,15 @@ def save_config(): if hasattr(curNzbProvider, 'username'): new_config[curNzbProvider.getID().upper()][ curNzbProvider.getID() + '_username'] = curNzbProvider.username + if hasattr(curNzbProvider, 'search_mode'): + new_config[curNzbProvider.getID().upper()][ + curNzbProvider.getID() + '_search_mode'] = curNzbProvider.search_mode + if hasattr(curNzbProvider, 'search_fallback'): + new_config[curNzbProvider.getID().upper()][curNzbProvider.getID() + '_search_fallback'] = int( + curNzbProvider.search_fallback) + if hasattr(curNzbProvider, 'backlog_only'): + new_config[curNzbProvider.getID().upper()][curNzbProvider.getID() + '_backlog_only'] = int( + curNzbProvider.backlog_only) new_config['NZBs'] = {} new_config['NZBs']['nzbs'] = int(NZBS) diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py index 1430d838..5a63c6dc 100644 --- a/sickbeard/webserve.py +++ b/sickbeard/webserve.py @@ -1668,11 +1668,31 @@ class ConfigProviders: curNzbProvider.api_key = None if hasattr(curNzbProvider, 'username'): - try: + try: curNzbProvider.username = str(kwargs[curNzbProvider.getID() + '_username']).strip() except: curNzbProvider.username = None + if hasattr(curNzbProvider, 'search_mode'): + try: + curNzbProvider.search_mode = str(kwargs[curNzbProvider.getID() + '_search_mode']).strip() + except: + curNzbProvider.search_mode = 'eponly' + + if hasattr(curNzbProvider, 'search_fallback'): + try: + curNzbProvider.search_fallback = config.checkbox_to_value( + kwargs[curNzbProvider.getID() + '_search_fallback']) + except: + curNzbProvider.search_fallback = 0 + + if hasattr(curNzbProvider, 'backlog_only'): + try: + curNzbProvider.backlog_only = config.checkbox_to_value( + kwargs[curNzbProvider.getID() + '_backlog_only']) + except: + curNzbProvider.backlog_only = 0 + sickbeard.NEWZNAB_DATA = '!!!'.join([x.configStr() for x in sickbeard.newznabProviderList]) sickbeard.PROVIDER_ORDER = provider_list