Make sure movies are removed from dashboard
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user