diff --git a/couchpotato/core/plugins/manage/main.py b/couchpotato/core/plugins/manage/main.py index ec86f594..702b1293 100644 --- a/couchpotato/core/plugins/manage/main.py +++ b/couchpotato/core/plugins/manage/main.py @@ -118,7 +118,9 @@ class Manage(Plugin): fireEvent('movie.delete', movie_id = done_movie['id'], delete_from = 'all') else: - for release in done_movie.get('releases', []): + releases = fireEvent('release.for_movie', id = done_movie.get('id'), single = True) + + for release in releases: if len(release.get('files', [])) == 0: fireEvent('release.delete', release['id']) else: @@ -129,9 +131,9 @@ class Manage(Plugin): break # Check if there are duplicate releases (different quality) use the last one, delete the rest - if len(done_movie.get('releases', [])) > 1: + if len(releases) > 1: used_files = {} - for release in done_movie.get('releases', []): + for release in releases: for release_file in release.get('files', []): already_used = used_files.get(release_file['path']) diff --git a/couchpotato/core/plugins/release/main.py b/couchpotato/core/plugins/release/main.py index 72089cc9..46857adf 100644 --- a/couchpotato/core/plugins/release/main.py +++ b/couchpotato/core/plugins/release/main.py @@ -37,13 +37,14 @@ class Release(Plugin): 'id': {'type': 'id', 'desc': 'ID of the release object in release-table'} } }) - addApiView('release.for_movie', self.forMovie, docs = { + addApiView('release.for_movie', self.forMovieView, docs = { 'desc': 'Returns all releases for a movie. Ordered by score(desc)', 'params': { 'id': {'type': 'id', 'desc': 'ID of the movie'} } }) + addEvent('release.for_movie', self.forMovie) addEvent('release.delete', self.delete) addEvent('release.clean', self.clean) @@ -216,7 +217,7 @@ class Release(Plugin): 'success': False } - def forMovie(self, id = None, **kwargs): + def forMovie(self, id = None): db = get_session() @@ -229,6 +230,12 @@ class Release(Plugin): releases = [r.to_dict({'info':{}, 'files':{}}) for r in releases_raw] releases = sorted(releases, key = lambda k: k['info'].get('score', 0), reverse = True) + return releases + + def forMovieView(self, id = None, **kwargs): + + releases = self.forMovie(id) + return { 'releases': releases, 'success': True