diff --git a/sickbeard/providers/__init__.py b/sickbeard/providers/__init__.py index 79fb54854f3efd8169401f459f7e226e60b29e31..a6e634812303ecfb1cc084315aa5e1d93a31ae13 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 1188a369899a40adfca0fc074069ef6ebae31928..a183d7d2d68274988f379ccfb509aaa109895770 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 dfe1deb07b8d97461acf6e157ba83107e5b33422..144dcf24dc67a413402ab645fe134caad6390169 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]: