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 ced3aecc..22f297aa 100644 --- a/couchpotato/core/plugins/searcher/main.py +++ b/couchpotato/core/plugins/searcher/main.py @@ -104,7 +104,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']))