From 805aa3ca9f1eb09be76cd26135aae2cb498aa0e8 Mon Sep 17 00:00:00 2001 From: Ruud Date: Sun, 17 Mar 2013 15:14:04 +0100 Subject: [PATCH] Split query to fix title bug. fix #1510 --- couchpotato/core/plugins/dashboard/main.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/couchpotato/core/plugins/dashboard/main.py b/couchpotato/core/plugins/dashboard/main.py index e4e7b997..d14eb5fb 100644 --- a/couchpotato/core/plugins/dashboard/main.py +++ b/couchpotato/core/plugins/dashboard/main.py @@ -7,7 +7,6 @@ from couchpotato.core.logger import CPLog from couchpotato.core.plugins.base import Plugin from couchpotato.core.settings.model import Movie from sqlalchemy.orm import joinedload_all -from sqlalchemy.sql.expression import or_ import random import time @@ -74,18 +73,16 @@ class Dashboard(Plugin): profile_pre[profile.get('id')] = contains # Get all active movies - q = db.query(Movie) \ - .join(Movie.profile, Movie.library) \ + active_status = fireEvent('status.get', 'active', single = True) + subq = db.query(Movie).filter(Movie.status_id == active_status.get('id')).subquery() + + q = db.query(Movie).join((subq, subq.c.id == Movie.id)) \ .options(joinedload_all('releases')) \ - .options(joinedload_all('releases.files')) \ - .options(joinedload_all('releases.info')) \ .options(joinedload_all('profile.types')) \ .options(joinedload_all('library.titles')) \ .options(joinedload_all('library.files')) \ .options(joinedload_all('status')) \ - .options(joinedload_all('files')) \ - .filter(or_(*[Movie.status.has(identifier = s) for s in ['active']])) \ - .group_by(Movie.id) + .options(joinedload_all('files')) # Add limit limit_offset = params.get('limit_offset')