From a818276b6d507395a7af0e1c253bbb2f04f91860 Mon Sep 17 00:00:00 2001 From: Ruud Date: Fri, 21 Mar 2014 16:32:31 +0100 Subject: [PATCH] Move multi-identifier search out of index --- couchpotato/core/media/_base/media/index.py | 8 -------- couchpotato/core/media/_base/media/main.py | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/couchpotato/core/media/_base/media/index.py b/couchpotato/core/media/_base/media/index.py index 4733ffaf..42e69905 100644 --- a/couchpotato/core/media/_base/media/index.py +++ b/couchpotato/core/media/_base/media/index.py @@ -30,14 +30,6 @@ class MediaIndex(MultiTreeBasedIndex): return ids, None - def run_identifiers(self, db, identifiers, with_doc = False): - for x in identifiers: - try: - media = db.get('media', '%s-%s' % (x, identifiers[x]), with_doc = with_doc) - return media - except: - pass - class MediaStatusIndex(TreeBasedIndex): _version = 1 diff --git a/couchpotato/core/media/_base/media/main.py b/couchpotato/core/media/_base/media/main.py index be3faf4f..f6bcd718 100644 --- a/couchpotato/core/media/_base/media/main.py +++ b/couchpotato/core/media/_base/media/main.py @@ -75,6 +75,7 @@ class MediaPlugin(MediaBase): addEvent('media.get', self.get) addEvent('media.with_status', self.withStatus) + addEvent('media.with_identifiers', self.withIdentifiers) addEvent('media.list', self.list) addEvent('media.delete', self.delete) addEvent('media.restatus', self.restatus) @@ -157,6 +158,19 @@ class MediaPlugin(MediaBase): for ms in db.get_many('media_status', s, with_doc = with_doc): yield ms['doc'] if with_doc else ms + def withIdentifiers(self, identifiers, with_doc = False): + + db = get_db() + + for x in identifiers: + try: + media = db.get('media', '%s-%s' % (x, identifiers[x]), with_doc = with_doc) + return media + except: + pass + + log.error('No media found with identifiers: %s', identifiers) + def list(self, types = None, status = None, release_status = None, status_or = False, limit_offset = None, starts_with = None, search = None): db = get_db()