Move for_media out of release index
This commit is contained in:
1 parent
b63f7b7e5d
commit
269d779df7
6 files changed
+18
-14
No files matched your search
@@ -134,7 +134,7 @@ class MediaPlugin(MediaBase):
|
|||||||
if media.get('category_id'):
|
if media.get('category_id'):
|
||||||
media['category'] = db.get('id', media.get('category_id'))
|
media['category'] = db.get('id', media.get('category_id'))
|
||||||
|
|
||||||
media['releases'] = list(db.run('release', 'for_media', media['_id']))
|
media['releases'] = list(fireEvent('release.for_media', media['_id'], single = True))
|
||||||
|
|
||||||
return media
|
return media
|
||||||
|
|
||||||
@@ -352,7 +352,7 @@ class MediaPlugin(MediaBase):
|
|||||||
deleted = True
|
deleted = True
|
||||||
else:
|
else:
|
||||||
|
|
||||||
media_releases = list(db.run('release', 'for_media', media['_id']))
|
media_releases = list(fireEvent('release.for_media', media['_id'], single = True))
|
||||||
|
|
||||||
total_releases = len(media_releases)
|
total_releases = len(media_releases)
|
||||||
total_deleted = 0
|
total_deleted = 0
|
||||||
@@ -418,7 +418,7 @@ class MediaPlugin(MediaBase):
|
|||||||
move_to_wanted = True
|
move_to_wanted = True
|
||||||
|
|
||||||
profile = db.get('id', m['profile_id'])
|
profile = db.get('id', m['profile_id'])
|
||||||
media_releases = list(db.run('release', 'for_media', m['_id']))
|
media_releases = list(fireEvent('release.for_media', m['_id'], single = True))
|
||||||
|
|
||||||
for q_identifier in profile['qualities']:
|
for q_identifier in profile['qualities']:
|
||||||
index = profile['qualities'].index(q_identifier)
|
index = profile['qualities'].index(q_identifier)
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ class MovieBase(MovieTypeBase):
|
|||||||
elif force_readd:
|
elif force_readd:
|
||||||
|
|
||||||
# Clean snatched history
|
# Clean snatched history
|
||||||
for release in db.run('release', 'for_media', m['_id']):
|
for release in fireEvent('release.for_media', m['_id'], single = True):
|
||||||
if release.get('status') in ['downloaded', 'snatched', 'done']:
|
if release.get('status') in ['downloaded', 'snatched', 'done']:
|
||||||
if params.get('ignore_previous', False):
|
if params.get('ignore_previous', False):
|
||||||
release['status'] = 'ignored'
|
release['status'] = 'ignored'
|
||||||
@@ -164,7 +164,7 @@ class MovieBase(MovieTypeBase):
|
|||||||
fireEventAsync('movie.update_info', m['_id'], default_title = params.get('title'), on_complete = onComplete)
|
fireEventAsync('movie.update_info', m['_id'], default_title = params.get('title'), on_complete = onComplete)
|
||||||
|
|
||||||
# Remove releases
|
# Remove releases
|
||||||
for rel in db.run('release', 'for_media', m['_id']):
|
for rel in fireEvent('release.for_media', m['_id'], single = True):
|
||||||
if rel['status'] is 'available':
|
if rel['status'] is 'available':
|
||||||
db.delete(rel)
|
db.delete(rel)
|
||||||
|
|
||||||
@@ -215,7 +215,7 @@ class MovieBase(MovieTypeBase):
|
|||||||
m['category_id'] = cat_id if len(cat_id) > 0 else None
|
m['category_id'] = cat_id if len(cat_id) > 0 else None
|
||||||
|
|
||||||
# Remove releases
|
# Remove releases
|
||||||
for rel in db.run('release', 'for_media', m['_id']):
|
for rel in fireEvent('release.for_media', m['_id'], single = True):
|
||||||
if rel['status'] is 'available':
|
if rel['status'] is 'available':
|
||||||
db.delete(rel)
|
db.delete(rel)
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import traceback
|
|||||||
|
|
||||||
from CodernityDB.database import RecordNotFound
|
from CodernityDB.database import RecordNotFound
|
||||||
from couchpotato import get_db
|
from couchpotato import get_db
|
||||||
from couchpotato.core.event import addEvent
|
from couchpotato.core.event import addEvent, fireEvent
|
||||||
from couchpotato.core.helpers.variable import mergeDicts, randomString
|
from couchpotato.core.helpers.variable import mergeDicts, randomString
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
from couchpotato.core.plugins.base import Plugin
|
from couchpotato.core.plugins.base import Plugin
|
||||||
@@ -104,7 +104,7 @@ class MovieResultModifier(Plugin):
|
|||||||
if media.get('status') == 'active':
|
if media.get('status') == 'active':
|
||||||
temp['in_wanted'] = media
|
temp['in_wanted'] = media
|
||||||
|
|
||||||
for release in db.run('release', 'for_media', media.get('_id')):
|
for release in fireEvent('release.for_media', media['_id'], single = True):
|
||||||
if release.get('status') == 'done':
|
if release.get('status') == 'done':
|
||||||
if not temp['in_library']:
|
if not temp['in_library']:
|
||||||
temp['in_library'] = media
|
temp['in_library'] = media
|
||||||
|
|||||||
@@ -18,10 +18,6 @@ class ReleaseIndex(TreeBasedIndex):
|
|||||||
if data.get('_t') == 'release' and data.get('media_id'):
|
if data.get('_t') == 'release' and data.get('media_id'):
|
||||||
return data['media_id'], None
|
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):
|
class ReleaseStatusIndex(TreeBasedIndex):
|
||||||
_version = 1
|
_version = 1
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ class Release(Plugin):
|
|||||||
addEvent('release.clean', self.clean)
|
addEvent('release.clean', self.clean)
|
||||||
addEvent('release.update_status', self.updateStatus)
|
addEvent('release.update_status', self.updateStatus)
|
||||||
addEvent('release.with_status', self.withStatus)
|
addEvent('release.with_status', self.withStatus)
|
||||||
|
addEvent('release.for_media', self.forMedia)
|
||||||
|
|
||||||
# Clean releases that didn't have activity in the last week
|
# Clean releases that didn't have activity in the last week
|
||||||
addEvent('app.load', self.cleanDone)
|
addEvent('app.load', self.cleanDone)
|
||||||
@@ -74,7 +75,7 @@ class Release(Plugin):
|
|||||||
if media.get('last_edit', 0) > (now - week):
|
if media.get('last_edit', 0) > (now - week):
|
||||||
continue
|
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
|
# Remove all available releases
|
||||||
if rel['status'] in ['available']:
|
if rel['status'] in ['available']:
|
||||||
@@ -433,3 +434,10 @@ class Release(Plugin):
|
|||||||
for s in status:
|
for s in status:
|
||||||
for ms in db.get_many('release_status', s, with_doc = with_doc):
|
for ms in db.get_many('release_status', s, with_doc = with_doc):
|
||||||
yield ms['doc'] if with_doc else ms
|
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()))
|
log.error('Failed marking movie finished: %s', (traceback.format_exc()))
|
||||||
|
|
||||||
# Go over current movie releases
|
# 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
|
# When a release already exists
|
||||||
if release.get('status') == 'done':
|
if release.get('status') == 'done':
|
||||||
|
|||||||
Reference in new issue
Block a user