Move for_media out of release index
This commit is contained in:
@@ -18,10 +18,6 @@ class ReleaseIndex(TreeBasedIndex):
|
||||
if data.get('_t') == 'release' and data.get('media_id'):
|
||||
return data['media_id'], None
|
||||
|
||||
def run_for_media(self, db, media_id):
|
||||
for release in db.get_many('release', media_id, with_doc = True):
|
||||
yield release['doc']
|
||||
|
||||
|
||||
class ReleaseStatusIndex(TreeBasedIndex):
|
||||
_version = 1
|
||||
|
||||
@@ -54,6 +54,7 @@ class Release(Plugin):
|
||||
addEvent('release.clean', self.clean)
|
||||
addEvent('release.update_status', self.updateStatus)
|
||||
addEvent('release.with_status', self.withStatus)
|
||||
addEvent('release.for_media', self.forMedia)
|
||||
|
||||
# Clean releases that didn't have activity in the last week
|
||||
addEvent('app.load', self.cleanDone)
|
||||
@@ -74,7 +75,7 @@ class Release(Plugin):
|
||||
if media.get('last_edit', 0) > (now - week):
|
||||
continue
|
||||
|
||||
for rel in db.run('release', 'for_media', media['_id']):
|
||||
for rel in fireEvent('release.for_media', media['_id'], single = True):
|
||||
|
||||
# Remove all available releases
|
||||
if rel['status'] in ['available']:
|
||||
@@ -433,3 +434,10 @@ class Release(Plugin):
|
||||
for s in status:
|
||||
for ms in db.get_many('release_status', s, with_doc = with_doc):
|
||||
yield ms['doc'] if with_doc else ms
|
||||
|
||||
def forMedia(self, media_id):
|
||||
|
||||
db = get_db()
|
||||
|
||||
for release in db.get_many('release', media_id, with_doc = True):
|
||||
yield release['doc']
|
||||
|
||||
@@ -446,7 +446,7 @@ class Renamer(Plugin):
|
||||
log.error('Failed marking movie finished: %s', (traceback.format_exc()))
|
||||
|
||||
# Go over current movie releases
|
||||
for release in db.run('release', 'for_media', media['_id']):
|
||||
for release in fireEvent('release.for_media', media['_id'], single = True):
|
||||
|
||||
# When a release already exists
|
||||
if release.get('status') == 'done':
|
||||
|
||||
Reference in New Issue
Block a user