Make sure movies are removed from dashboard

This commit is contained in:
mano3m
2013-10-12 13:40:51 +02:00
parent 6d2889f88d
commit 3a117b6077

View File

@@ -83,26 +83,26 @@ class MovieBase(MovieTypeBase):
addEvent('app.load', self.cleanReleases)
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')
now = time.time()
week = 262080
done_status, available_status, snatched_status = \
fireEvent('status.get', ['done', 'available', 'snatched'], single = True)
done_status, available_status, snatched_status, downloaded_status = \
fireEvent('status.get', ['done', 'available', 'snatched', 'downloaded'], single = True)
db = get_session()
# 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)) \
.all()
for movie in movies:
for rel in movie.releases:
if rel.status_id in [available_status.get('id'), snatched_status.get('id')]:
for item in media:
for rel in item.releases:
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)
db.expire_all()