Browse Source

Added "library.root" event, fixes to "matcher", "release" and "score" to use "library.root" + handle missing "year"

pull/3824/head
Dean Gardiner 11 years ago
parent
commit
a1ce3e0d6b
  1. 10
      couchpotato/core/media/_base/library/main.py
  2. 6
      couchpotato/core/media/_base/matcher/main.py
  3. 2
      couchpotato/core/plugins/release/main.py

10
couchpotato/core/media/_base/library/main.py

@ -11,6 +11,7 @@ class Library(LibraryBase):
def __init__(self):
addEvent('library.title', self.title)
addEvent('library.related', self.related)
addEvent('library.root', self.root)
addApiView('library.query', self.queryView)
addApiView('library.related', self.relatedView)
@ -54,3 +55,12 @@ class Library(LibraryBase):
result[cur['type']] = cur
return result
def root(self, media):
db = get_db()
cur = media
while cur and cur.get('parent_id'):
cur = db.get('id', cur['parent_id'])
return cur

6
couchpotato/core/media/_base/matcher/main.py

@ -40,7 +40,7 @@ class Matcher(MatcherBase):
return False
def correctTitle(self, chain, media):
root_library = media['library']['root_library']
root = fireEvent('library.root', media, single = True)
if 'show_name' not in chain.info or not len(chain.info['show_name']):
log.info('Wrong: missing show name in parsed result')
@ -50,10 +50,10 @@ class Matcher(MatcherBase):
chain_words = [x.lower() for x in chain.info['show_name']]
# Build a list of possible titles of the media we are searching for
titles = root_library['info']['titles']
titles = root['info']['titles']
# Add year suffix titles (will result in ['<name_one>', '<name_one> <suffix_one>', '<name_two>', ...])
suffixes = [None, root_library['info']['year']]
suffixes = [None, root['info']['year']]
titles = [
title + ((' %s' % suffix) if suffix else '')

2
couchpotato/core/plugins/release/main.py

@ -325,7 +325,7 @@ class Release(Plugin):
rls['download_info'] = download_result
db.update(rls)
log_movie = '%s (%s) in %s' % (getTitle(media), media['info']['year'], rls['quality'])
log_movie = '%s (%s) in %s' % (getTitle(media), media['info'].get('year'), rls['quality'])
snatch_message = 'Snatched "%s": %s' % (data.get('name'), log_movie)
log.info(snatch_message)
fireEvent('%s.snatched' % data['type'], message = snatch_message, data = media)

Loading…
Cancel
Save