From 85bc3ddde69d9a9df0442128ac476ed1b3319869 Mon Sep 17 00:00:00 2001 From: Ruud Date: Sun, 9 Mar 2014 15:29:53 +0100 Subject: [PATCH] Don't try to reuse generator --- couchpotato/core/media/_base/media/main.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/couchpotato/core/media/_base/media/main.py b/couchpotato/core/media/_base/media/main.py index 76172677..76622230 100644 --- a/couchpotato/core/media/_base/media/main.py +++ b/couchpotato/core/media/_base/media/main.py @@ -396,6 +396,7 @@ class MediaPlugin(MediaBase): db = get_db() m = db.get('id', media_id) + previous_status = m['status'] log.debug('Changing status for %s', getTitle(m)) if not m['profile_id']: @@ -404,18 +405,20 @@ class MediaPlugin(MediaBase): move_to_wanted = True profile = db.get('id', m['profile_id']) - media_releases = db.run('release', 'for_media', m['_id']) + media_releases = list(db.run('release', 'for_media', m['_id'])) for q_identifier in profile['qualities']: index = profile['qualities'].index(q_identifier) for release in media_releases: - if q_identifier is release['quality'] and (release.get('status') == 'done' and profile['finish'][index]): + if q_identifier == release['quality'] and (release.get('status') == 'done' and profile['finish'][index]): move_to_wanted = False m['status'] = 'active' if move_to_wanted else 'done' - db.update(m) + # Only update when status has changed + if previous_status != m['status']: + db.update(m) return True except: