From 5853a373f3f5053f5cf6101291614e0ee900c588 Mon Sep 17 00:00:00 2001 From: Ruud Date: Sun, 16 Mar 2014 09:20:53 +0100 Subject: [PATCH] Add library query --- .../core/media/_base/providers/base.py | 2 +- couchpotato/core/media/movie/library.py | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 couchpotato/core/media/movie/library.py diff --git a/couchpotato/core/media/_base/providers/base.py b/couchpotato/core/media/_base/providers/base.py index 94c70a01..13f0f6e0 100644 --- a/couchpotato/core/media/_base/providers/base.py +++ b/couchpotato/core/media/_base/providers/base.py @@ -200,7 +200,7 @@ class YarrProvider(Provider): self._search(media, quality, results) # Search possible titles else: - media_title = fireEvent('library.query', media['library'], single = True) + media_title = fireEvent('library.query', media, single = True) for title in possibleTitles(media_title): self._searchOnTitle(title, media, quality, results) diff --git a/couchpotato/core/media/movie/library.py b/couchpotato/core/media/movie/library.py new file mode 100644 index 00000000..a6e29f32 --- /dev/null +++ b/couchpotato/core/media/movie/library.py @@ -0,0 +1,29 @@ +from couchpotato.core.event import addEvent +from couchpotato.core.logger import CPLog +from couchpotato.core.media._base.library.base import LibraryBase + + +log = CPLog(__name__) + +autoload = 'MovieLibraryPlugin' + + +class MovieLibraryPlugin(LibraryBase): + + def __init__(self): + addEvent('library.query', self.query) + + def query(self, media, first = True, include_year = True, **kwargs): + if media.get('type') != 'movie': + return + + titles = media['info'].get('titles', []) + + # Add year identifier to titles + if include_year: + titles = [title + (' %s' % str(media['info']['year'])) for title in titles] + + if first: + return titles[0] if titles else None + + return titles