Added TV release snatching/downloading

This commit is contained in:
Dean Gardiner
2013-10-16 14:58:36 +13:00
parent 60d8934444
commit ff63b8a1c5
+24 -7
View File
@@ -1,8 +1,5 @@
import pprint
import re
from couchpotato import get_session, Env from couchpotato import get_session, Env
from couchpotato.core.event import addEvent, fireEvent from couchpotato.core.event import addEvent, fireEvent
from couchpotato.core.helpers.encoding import simplifyString
from couchpotato.core.helpers.variable import getTitle, tryInt, possibleTitles from couchpotato.core.helpers.variable import getTitle, tryInt, possibleTitles
from couchpotato.core.logger import CPLog from couchpotato.core.logger import CPLog
from couchpotato.core.media._base.searcher.main import SearchSetupError from couchpotato.core.media._base.searcher.main import SearchSetupError
@@ -58,9 +55,7 @@ class ShowSearcher(Plugin):
return show, season, episode return show, season, episode
def single(self, media, search_protocols = None): def single(self, media, search_protocols = None, manual = False):
pprint.pprint(media)
if media['type'] == 'show': if media['type'] == 'show':
# TODO handle show searches (scan all seasons) # TODO handle show searches (scan all seasons)
return return
@@ -130,7 +125,29 @@ class ShowSearcher(Plugin):
# Add them to this movie releases list # Add them to this movie releases list
found_releases += fireEvent('searcher.create_releases', results, media, quality_type, single = True) found_releases += fireEvent('searcher.create_releases', results, media, quality_type, single = True)
log.info('%d results found' % len(results)) # Try find a valid result and download it
if fireEvent('searcher.try_download_result', results, media, quality_type, manual, single = True):
ret = True
# Remove releases that aren't found anymore
for release in media.get('releases', []):
if release.get('status_id') == available_status.get('id') and release.get('identifier') not in found_releases:
fireEvent('release.delete', release.get('id'), single = True)
else:
log.info('Better quality (%s) already available or snatched for %s', (quality_type['quality']['label'], default_title))
fireEvent('movie.restatus', media['id'])
break
# Break if CP wants to shut down
if self.shuttingDown() or ret:
break
if len(too_early_to_search) > 0:
log.info2('Too early to search for %s, %s', (too_early_to_search, default_title))
fireEvent('notify.frontend', type = 'show.searcher.ended.%s' % media['id'], data = True)
return ret
def correctRelease(self, release = None, media = None, quality = None, **kwargs): def correctRelease(self, release = None, media = None, quality = None, **kwargs):