Get releases when cleaning up managed movies

This commit is contained in:
Ruud
2013-09-11 12:24:50 +02:00
parent b56cd3439e
commit c6403e87f1
2 changed files with 14 additions and 5 deletions
+5 -3
View File
@@ -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'])
+9 -2
View File
@@ -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