Cleanup searcher PR

This commit is contained in:
Ruud
2013-10-30 22:51:26 +01:00
parent f2b483b16e
commit 47de84259d
4 changed files with 10 additions and 21 deletions
@@ -1,7 +1,7 @@
from couchpotato.api import addApiView from couchpotato.api import addApiView
from couchpotato.core.event import addEvent, fireEvent from couchpotato.core.event import addEvent, fireEvent
from couchpotato.core.helpers.encoding import simplifyString, toUnicode from couchpotato.core.helpers.encoding import simplifyString
from couchpotato.core.helpers.variable import md5, getTitle, splitString from couchpotato.core.helpers.variable import splitString
from couchpotato.core.logger import CPLog from couchpotato.core.logger import CPLog
from couchpotato.core.media._base.searcher.base import SearcherBase from couchpotato.core.media._base.searcher.base import SearcherBase
import datetime import datetime
@@ -47,11 +47,8 @@ class Searcher(SearcherBase):
def search(self, protocols, media, quality): def search(self, protocols, media, quality):
results = [] results = []
# TODO could this be handled better? (removing the need for 'searcher.get_media_searcher_id')
searcher_id = fireEvent('searcher.get_media_searcher_id', media['type'], single = True)
for search_protocol in protocols: for search_protocol in protocols:
protocol_results = fireEvent('provider.search.%s.%s' % (search_protocol, searcher_id), media, quality, merge = True) protocol_results = fireEvent('provider.search.%s.%s' % (search_protocol, media['type']), media, quality, merge = True)
if protocol_results: if protocol_results:
results += protocol_results results += protocol_results
@@ -31,7 +31,6 @@ class MovieSearcher(SearcherBase, MovieTypeBase):
addEvent('movie.searcher.could_be_released', self.couldBeReleased) addEvent('movie.searcher.could_be_released', self.couldBeReleased)
addEvent('searcher.correct_release', self.correctRelease) addEvent('searcher.correct_release', self.correctRelease)
addEvent('searcher.get_search_title', self.getSearchTitle) addEvent('searcher.get_search_title', self.getSearchTitle)
addEvent('searcher.get_media_searcher_id', self.getMediaSearcherId)
addApiView('movie.searcher.try_next', self.tryNextReleaseView, docs = { addApiView('movie.searcher.try_next', self.tryNextReleaseView, docs = {
'desc': 'Marks the snatched results as ignored and try the next best release', 'desc': 'Marks the snatched results as ignored and try the next best release',
@@ -348,9 +347,5 @@ class MovieSearcher(SearcherBase, MovieTypeBase):
if media['type'] == 'movie': if media['type'] == 'movie':
return getTitle(media['library']) return getTitle(media['library'])
def getMediaSearcherId(self, media_type):
if media_type == 'movie':
return 'movie'
class SearchSetupError(Exception): class SearchSetupError(Exception):
pass pass
+7 -8
View File
@@ -6,7 +6,8 @@ from couchpotato.core.helpers.variable import getTitle
from couchpotato.core.logger import CPLog from couchpotato.core.logger import CPLog
from couchpotato.core.plugins.base import Plugin from couchpotato.core.plugins.base import Plugin
from couchpotato.core.plugins.scanner.main import Scanner from couchpotato.core.plugins.scanner.main import Scanner
from couchpotato.core.settings.model import File, Release as Relea, Media, ReleaseInfo from couchpotato.core.settings.model import File, Release as Relea, Media, \
ReleaseInfo
from couchpotato.environment import Env from couchpotato.environment import Env
from inspect import ismethod, isfunction from inspect import ismethod, isfunction
from sqlalchemy.exc import InterfaceError from sqlalchemy.exc import InterfaceError
@@ -85,7 +86,7 @@ class Release(Plugin):
fireEvent('release.delete', id = rel.id, single = True) fireEvent('release.delete', id = rel.id, single = True)
# Set all snatched and downloaded releases to ignored to make sure they are ignored when re-adding the move # Set all snatched and downloaded releases to ignored to make sure they are ignored when re-adding the move
elif rel.status_id in [snatched_status.get('id'), downloaded_status.get('id')]: elif rel.status_id in [snatched_status.get('id'), downloaded_status.get('id')]:
fireEvent('release.update_status', id = rel.id, status = ignored_status) self.updateStatus(id = rel.id, status = ignored_status)
db.expire_all() db.expire_all()
@@ -209,8 +210,6 @@ class Release(Plugin):
db = get_session() db = get_session()
snatched_status, done_status = fireEvent('status.get', ['snatched', 'done'], single = True)
rel = db.query(Relea).filter_by(id = id).first() rel = db.query(Relea).filter_by(id = id).first()
if rel: if rel:
item = {} item = {}
@@ -229,12 +228,12 @@ class Release(Plugin):
if item.get('protocol') != 'torrent_magnet': if item.get('protocol') != 'torrent_magnet':
item['download'] = provider.loginDownload if provider.urls.get('login') else provider.download item['download'] = provider.loginDownload if provider.urls.get('login') else provider.download
success = fireEvent('release.download', data = item, media = rel.movie.to_dict({ success = self.download(data = item, media = rel.movie.to_dict({
'profile': {'types': {'quality': {}}}, 'profile': {'types': {'quality': {}}},
'releases': {'status': {}, 'quality': {}}, 'releases': {'status': {}, 'quality': {}},
'library': {'titles': {}, 'files':{}}, 'library': {'titles': {}, 'files':{}},
'files': {} 'files': {}
}), manual = True, single = True) }), manual = True)
if success: if success:
db.expunge_all() db.expunge_all()
@@ -305,7 +304,7 @@ class Release(Plugin):
log.info('Renamer disabled, marking media as finished: %s', log_movie) log.info('Renamer disabled, marking media as finished: %s', log_movie)
# Mark release done # Mark release done
fireEvent('release.update_status', rls.id, status = done_status, single = True) self.updateStatus(rls.id, status = done_status)
# Mark media done # Mark media done
mdia = db.query(Media).filter_by(id = media['id']).first() mdia = db.query(Media).filter_by(id = media['id']).first()
@@ -315,7 +314,7 @@ class Release(Plugin):
except: except:
log.error('Failed marking media finished, renamer disabled: %s', traceback.format_exc()) log.error('Failed marking media finished, renamer disabled: %s', traceback.format_exc())
else: else:
fireEvent('release.update_status', rls.id, status = snatched_status, single = True) self.updateStatus(rls.id, status = snatched_status)
except: except:
log.error('Failed marking media finished: %s', traceback.format_exc()) log.error('Failed marking media finished: %s', traceback.format_exc())
-2
View File
@@ -1,5 +1,4 @@
from couchpotato.core.event import addEvent, fireEvent from couchpotato.core.event import addEvent, fireEvent
from couchpotato.core.helpers.encoding import toUnicode
from couchpotato.core.helpers.variable import tryFloat, mergeDicts, md5, \ from couchpotato.core.helpers.variable import tryFloat, mergeDicts, md5, \
possibleTitles, getTitle possibleTitles, getTitle
from couchpotato.core.logger import CPLog from couchpotato.core.logger import CPLog
@@ -8,7 +7,6 @@ from couchpotato.environment import Env
from urlparse import urlparse from urlparse import urlparse
import cookielib import cookielib
import json import json
import logging
import re import re
import time import time
import traceback import traceback