def index(self): self.template = 'index.phtml' # top rated top_rated = Rating.top_rated(self.session, limit=6) self.view['top_rated'] = top_rated # last rated last_rated = self.view['last_rated'] shuffle(last_rated) last_rated[5:] = [] ids = map(itemgetter1, self.view['last_rated']) movies = self.session.query(Movie).filter(Movie.id.in_(ids)).all() movies = dict((m.id, m) for m in movies) self.view['movies'] = movies # recent users self.view['recent_users'] = User.recent(self.session, limit=8) # recent ratings already_shown = set(ids) already_shown.update((m.id for m, _ in top_rated)) recent = self.session.query(Rating)\ .options(joinedload(Rating.movie))\ .options(joinedload(Rating.user))\ .filter(not_(Rating.movie_id.in_(already_shown)))\ .order_by(Rating.rated.desc()).limit(15).all() shuffle(recent) recent[10:] = [] self.view['recent_ratings'] = recent
def index(self): self.template = 'index.phtml' # top rated self.view['top_rated'] = Rating.top_rated(self.session, limit=6) # last rated ids = map(itemgetter1, self.view['last_rated']) movies = self.session.query(Movie).filter(Movie.id.in_(ids)).all() movies = dict((m.id, m) for m in movies) self.view['movies'] = movies # recent users self.view['recent_users'] = User.recent(self.session, limit=5)