From bd8a5f5b93537b90b01133b32559978ce8e0b73c Mon Sep 17 00:00:00 2001 From: Ruud Date: Mon, 25 Jun 2012 22:24:02 +0200 Subject: [PATCH 1/2] Added longer timeout for slower hardware --- couchpotato/core/downloaders/sabnzbd/main.py | 2 +- couchpotato/core/plugins/base.py | 2 +- couchpotato/core/providers/nzb/nzbclub/main.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/couchpotato/core/downloaders/sabnzbd/main.py b/couchpotato/core/downloaders/sabnzbd/main.py index 09325704..325870e7 100644 --- a/couchpotato/core/downloaders/sabnzbd/main.py +++ b/couchpotato/core/downloaders/sabnzbd/main.py @@ -41,7 +41,7 @@ class Sabnzbd(Downloader): if params.get('mode') is 'addfile': data = self.urlopen(url, params = {"nzbfile": (nzb_filename, filedata)}, multipart = True, show_error = False) else: - data = self.urlopen(url, show_error = False) + data = self.urlopen(url, timeout = 60, show_error = False) except: log.error(traceback.format_exc()) return False diff --git a/couchpotato/core/plugins/base.py b/couchpotato/core/plugins/base.py index 2ad616b3..1c98868e 100644 --- a/couchpotato/core/plugins/base.py +++ b/couchpotato/core/plugins/base.py @@ -95,7 +95,7 @@ class Plugin(object): return False # http request - def urlopen(self, url, timeout = 10, params = {}, headers = {}, multipart = False, show_error = True): + def urlopen(self, url, timeout = 30, params = {}, headers = {}, multipart = False, show_error = True): # Fill in some headers if not headers.get('Referer'): diff --git a/couchpotato/core/providers/nzb/nzbclub/main.py b/couchpotato/core/providers/nzb/nzbclub/main.py index 39835ded..dedddb85 100644 --- a/couchpotato/core/providers/nzb/nzbclub/main.py +++ b/couchpotato/core/providers/nzb/nzbclub/main.py @@ -20,7 +20,7 @@ class NZBClub(NZBProvider, RSS): 'search': 'https://www.nzbclub.com/nzbfeed.aspx?%s', } - http_time_between_calls = 3 #seconds + http_time_between_calls = 4 #seconds def search(self, movie, quality): From 14bc341f57f00e1e063a2338a6692610808ff040 Mon Sep 17 00:00:00 2001 From: bwq Date: Wed, 27 Jun 2012 22:25:41 +0200 Subject: [PATCH 2/2] Here we go :) --- couchpotato/core/plugins/searcher/__init__.py | 7 +++++++ couchpotato/core/plugins/searcher/main.py | 20 ++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/couchpotato/core/plugins/searcher/__init__.py b/couchpotato/core/plugins/searcher/__init__.py index 7ecd29b7..c68ada07 100644 --- a/couchpotato/core/plugins/searcher/__init__.py +++ b/couchpotato/core/plugins/searcher/__init__.py @@ -31,6 +31,13 @@ config = [{ 'label': 'Ignored words', 'default': 'german, dutch, french, truefrench, danish, swedish, spanish, italian, korean, dubbed, swesub, korsub', }, + { + 'name': 'preferred_method', + 'label': 'Preferred download method', + 'default': 'both', + 'type': 'dropdown', + 'values': [('usenet & torrents', 'both'), ('usenet', 'usenet'), ('torrents', 'torrents')], + }, ], }, { 'tab': 'searcher', diff --git a/couchpotato/core/plugins/searcher/main.py b/couchpotato/core/plugins/searcher/main.py index da77908d..adf3cb36 100644 --- a/couchpotato/core/plugins/searcher/main.py +++ b/couchpotato/core/plugins/searcher/main.py @@ -103,7 +103,25 @@ class Searcher(Plugin): log.info('Search for %s in %s', (default_title, quality_type['quality']['label'])) quality = fireEvent('quality.single', identifier = quality_type['quality']['identifier'], single = True) - results = fireEvent('yarr.search', movie, quality, merge = True) + + download_preference = self.conf('preferred_method') + if download_preference == 'torrents': + log.info('First searching torrents') + results = fireEvent('torrent.search', movie, quality, merge = True) + if not results: + log.info('No results from torrents, searching usenet') + results = fireEvent('nzb.search', movie, quality, merge = True) + + elif download_preference == 'usenet': + log.info('First searching usenet') + results = fireEvent('nzb.search', movie, quality, merge = True) + if not results: + log.info('No results from usenet, searching torrents') + results = fireEvent('torrent.search', movie, quality, merge = True) + + else: + results = fireEvent('yarr.search', movie, quality, merge = True) + sorted_results = sorted(results, key = lambda k: k['score'], reverse = True) if len(sorted_results) == 0: log.debug('Nothing found for %s in %s', (default_title, quality_type['quality']['label']))