Cleanup searcher and release checking
This commit is contained in:
@@ -7,8 +7,8 @@ from couchpotato.core.logger import CPLog
|
|||||||
from couchpotato.core.media._base.searcher.base import SearcherBase
|
from couchpotato.core.media._base.searcher.base import SearcherBase
|
||||||
from couchpotato.core.settings.model import Media, Release, ReleaseInfo
|
from couchpotato.core.settings.model import Media, Release, ReleaseInfo
|
||||||
from couchpotato.environment import Env
|
from couchpotato.environment import Env
|
||||||
from sqlalchemy.exc import InterfaceError
|
|
||||||
from inspect import ismethod, isfunction
|
from inspect import ismethod, isfunction
|
||||||
|
from sqlalchemy.exc import InterfaceError
|
||||||
import datetime
|
import datetime
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
@@ -64,7 +64,7 @@ class Searcher(SearcherBase):
|
|||||||
|
|
||||||
if downloader_enabled:
|
if downloader_enabled:
|
||||||
|
|
||||||
snatched_status = fireEvent('status.get', 'snatched', single = True)
|
snatched_status, done_status, active_status = fireEvent('status.get', ['snatched', 'done', 'active'], single = True)
|
||||||
|
|
||||||
# Download movie to temp
|
# Download movie to temp
|
||||||
filedata = None
|
filedata = None
|
||||||
@@ -84,9 +84,6 @@ class Searcher(SearcherBase):
|
|||||||
if rls:
|
if rls:
|
||||||
renamer_enabled = Env.setting('enabled', 'renamer')
|
renamer_enabled = Env.setting('enabled', 'renamer')
|
||||||
|
|
||||||
done_status = fireEvent('status.get', 'done', single = True)
|
|
||||||
rls.status_id = done_status.get('id') if not renamer_enabled else snatched_status.get('id')
|
|
||||||
|
|
||||||
# Save download-id info if returned
|
# Save download-id info if returned
|
||||||
if isinstance(download_result, dict):
|
if isinstance(download_result, dict):
|
||||||
for key in download_result:
|
for key in download_result:
|
||||||
@@ -104,8 +101,6 @@ class Searcher(SearcherBase):
|
|||||||
|
|
||||||
# If renamer isn't used, mark movie done
|
# If renamer isn't used, mark movie done
|
||||||
if not renamer_enabled:
|
if not renamer_enabled:
|
||||||
active_status = fireEvent('status.get', 'active', single = True)
|
|
||||||
done_status = fireEvent('status.get', 'done', single = True)
|
|
||||||
try:
|
try:
|
||||||
if movie['status_id'] == active_status.get('id'):
|
if movie['status_id'] == active_status.get('id'):
|
||||||
for profile_type in movie['profile']['types']:
|
for profile_type in movie['profile']['types']:
|
||||||
@@ -113,9 +108,7 @@ class Searcher(SearcherBase):
|
|||||||
log.info('Renamer disabled, marking movie as finished: %s', log_movie)
|
log.info('Renamer disabled, marking movie as finished: %s', log_movie)
|
||||||
|
|
||||||
# Mark release done
|
# Mark release done
|
||||||
rls.status_id = done_status.get('id')
|
fireEvent('release.update_status', rls.id, status = done_status, single = True)
|
||||||
rls.last_edit = int(time.time())
|
|
||||||
db.commit()
|
|
||||||
|
|
||||||
# Mark movie done
|
# Mark movie done
|
||||||
mvie = db.query(Media).filter_by(id = movie['id']).first()
|
mvie = db.query(Media).filter_by(id = movie['id']).first()
|
||||||
@@ -124,6 +117,8 @@ class Searcher(SearcherBase):
|
|||||||
db.commit()
|
db.commit()
|
||||||
except:
|
except:
|
||||||
log.error('Failed marking movie finished, renamer disabled: %s', traceback.format_exc())
|
log.error('Failed marking movie finished, renamer disabled: %s', traceback.format_exc())
|
||||||
|
else:
|
||||||
|
fireEvent('release.update_status', rls.id, status = snatched_status, single = True)
|
||||||
|
|
||||||
except:
|
except:
|
||||||
log.error('Failed marking movie finished: %s', traceback.format_exc())
|
log.error('Failed marking movie finished: %s', traceback.format_exc())
|
||||||
@@ -158,7 +153,7 @@ class Searcher(SearcherBase):
|
|||||||
|
|
||||||
def createReleases(self, search_results, media, quality_type):
|
def createReleases(self, search_results, media, quality_type):
|
||||||
|
|
||||||
available_status, ignored_status, failed_status = fireEvent('status.get', ['available', 'ignored', 'failed'], single = True)
|
available_status = fireEvent('status.get', ['available'], single = True)
|
||||||
db = get_session()
|
db = get_session()
|
||||||
|
|
||||||
found_releases = []
|
found_releases = []
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ class MovieSearcher(SearcherBase, MovieTypeBase):
|
|||||||
def single(self, movie, search_protocols = None, manual = False):
|
def single(self, movie, search_protocols = None, manual = False):
|
||||||
|
|
||||||
# movies don't contain 'type' yet, so just set to default here
|
# movies don't contain 'type' yet, so just set to default here
|
||||||
if 'type' not in movie:
|
if not movie.has_key('type'):
|
||||||
movie['type'] = 'movie'
|
movie['type'] = 'movie'
|
||||||
|
|
||||||
# Find out search type
|
# Find out search type
|
||||||
@@ -170,7 +170,7 @@ class MovieSearcher(SearcherBase, MovieTypeBase):
|
|||||||
log.info('Search for %s in %s', (default_title, quality_type['quality']['label']))
|
log.info('Search for %s in %s', (default_title, quality_type['quality']['label']))
|
||||||
quality = fireEvent('quality.single', identifier = quality_type['quality']['identifier'], single = True)
|
quality = fireEvent('quality.single', identifier = quality_type['quality']['identifier'], single = True)
|
||||||
|
|
||||||
results = fireEvent('searcher.search', search_protocols, movie, quality, single = True)
|
results = fireEvent('searcher.search', search_protocols, movie, quality, single = True) or []
|
||||||
if len(results) == 0:
|
if len(results) == 0:
|
||||||
log.debug('Nothing found for %s in %s', (default_title, quality_type['quality']['label']))
|
log.debug('Nothing found for %s in %s', (default_title, quality_type['quality']['label']))
|
||||||
|
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ class Renamer(Plugin):
|
|||||||
cleanup = self.conf('cleanup') and not self.downloadIsTorrent(download_info))
|
cleanup = self.conf('cleanup') and not self.downloadIsTorrent(download_info))
|
||||||
|
|
||||||
groups = fireEvent('scanner.scan', folder = folder if folder else self.conf('from'),
|
groups = fireEvent('scanner.scan', folder = folder if folder else self.conf('from'),
|
||||||
files = files, download_info = download_info, return_ignored = False, single = True)
|
files = files, download_info = download_info, return_ignored = False, single = True) or []
|
||||||
|
|
||||||
folder_name = self.conf('folder_name')
|
folder_name = self.conf('folder_name')
|
||||||
file_name = self.conf('file_name')
|
file_name = self.conf('file_name')
|
||||||
|
|||||||
Reference in New Issue
Block a user