Make sure movies are removed from dashboard

This commit is contained in:
mano3m committed 2013-10-12 13:42:48 +02:00
1 parent 6d2889f88d
commit 3a117b6077
1 file changed
+7 -7
+7 -7
View File
@@ -83,26 +83,26 @@ class MovieBase(MovieTypeBase):
addEvent('app.load', self.cleanReleases) addEvent('app.load', self.cleanReleases)
fireEvent('schedule.interval', 'movie.clean_releases', self.cleanReleases, hours = 4) fireEvent('schedule.interval', 'movie.clean_releases', self.cleanReleases, hours = 4)
def cleanReleases(self): def cleanReleases(self): # Shouldnt this be part of the Release plugin, or the Dashboard plugin?
log.debug('Removing releases from dashboard') log.debug('Removing releases from dashboard')
now = time.time() now = time.time()
week = 262080 week = 262080
done_status, available_status, snatched_status = \ done_status, available_status, snatched_status, downloaded_status = \
fireEvent('status.get', ['done', 'available', 'snatched'], single = True) fireEvent('status.get', ['done', 'available', 'snatched', 'downloaded'], single = True)
db = get_session() db = get_session()
# get movies last_edit more than a week ago # get movies last_edit more than a week ago
movies = db.query(Media) \ media = db.query(Media) \
.filter(Media.status_id == done_status.get('id'), Media.last_edit < (now - week)) \ .filter(Media.status_id == done_status.get('id'), Media.last_edit < (now - week)) \
.all() .all()
for movie in movies: for item in media:
for rel in movie.releases: for rel in item.releases:
if rel.status_id in [available_status.get('id'), snatched_status.get('id')]: if rel.status_id in [available_status.get('id'), snatched_status.get('id'), downloaded_status.get('id')]:
fireEvent('release.delete', id = rel.id, single = True) fireEvent('release.delete', id = rel.id, single = True)
db.expire_all() db.expire_all()