From e06f9faf95c24bcb852ef9bc35dc17f7d124dd6d Mon Sep 17 00:00:00 2001 From: Dustyn Gibson <miigotu@gmail.com> Date: Sun, 12 Jul 2015 01:42:01 -0700 Subject: [PATCH] Fix provider sorting, enabled are always at the top now. --- sickbeard/providers/__init__.py | 5 +++++ sickbeard/providers/generic.py | 2 ++ sickbeard/webserve.py | 9 ++++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/sickbeard/providers/__init__.py b/sickbeard/providers/__init__.py index 79fb5485..a6e63481 100644 --- a/sickbeard/providers/__init__.py +++ b/sickbeard/providers/__init__.py @@ -68,6 +68,11 @@ def sortedProviderList(randomize=False): if curModule in providerDict: newList.append(providerDict[curModule]) + # add all enabled providers first + for curModule in providerDict: + if providerDict[curModule] not in newList and providerDict[curModule].isEnabled(): + newList.append(providerDict[curModule]) + # add any modules that are missing from that list for curModule in providerDict: if providerDict[curModule] not in newList: diff --git a/sickbeard/providers/generic.py b/sickbeard/providers/generic.py index 1188a369..a183d7d2 100644 --- a/sickbeard/providers/generic.py +++ b/sickbeard/providers/generic.py @@ -62,6 +62,8 @@ class GenericProvider: self.search_mode = None self.search_fallback = False + + self.enabled = False self.enable_daily = False self.enable_backlog = False diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py index dfe1deb0..144dcf24 100644 --- a/sickbeard/webserve.py +++ b/sickbeard/webserve.py @@ -4404,6 +4404,7 @@ class ConfigProviders(Config): if curProvider.getID() not in finishedNames: sickbeard.torrentRssProviderList.remove(curProvider) + disabled_list = [] # do the enable/disable for curProviderStr in provider_str_list: curProvider, curEnabled = curProviderStr.split(':') @@ -4414,12 +4415,18 @@ class ConfigProviders(Config): if curProvObj: curProvObj[0].enabled = bool(curEnabled) - provider_list.append(curProvider) + if curEnabled: + provider_list.append(curProvider) + else: + disabled_list.append(curProvider) + if curProvider in newznabProviderDict: newznabProviderDict[curProvider].enabled = bool(curEnabled) elif curProvider in torrentRssProviderDict: torrentRssProviderDict[curProvider].enabled = bool(curEnabled) + provider_list = provider_list + disabled_list + # dynamically load provider settings for curTorrentProvider in [curProvider for curProvider in sickbeard.providers.sortedProviderList() if curProvider.providerType == sickbeard.GenericProvider.TORRENT]: -- GitLab