Beispiel #1
0
 def togglewatchlist(self):
     movie_id = int(self.request.form['movie_id'])
     movie = Movie.load(self.session, id=movie_id)
     if movie in self.user.watchlist:
         self.user.watchlist.remove(movie)
     else:
         # checked if already seen
         try:
             Rating.load(self.session, movie=movie, user=self.user)
         except NoResultFound:
             self.user.watchlist.add(movie)
Beispiel #2
0
 def togglewatchlist(self):
     movie_id = int(self.request.form['movie_id'])
     movie = Movie.load(self.session, id=movie_id)
     if movie in self.user.watchlist:
         self.user.watchlist.remove(movie)
     else:
         # checked if already seen
         try:
             Rating.load(self.session, movie=movie, user=self.user)
         except NoResultFound:
             self.user.watchlist.add(movie)
Beispiel #3
0
    def show(self, movie_id, dummy):
        try:
            movie = Movie.load(self.session, id=movie_id)
        except NoResultFound:
            return self.not_found('error/404.phtml')

        # last ratings
        last_ratings = self.session.query(Rating.rating, User)\
                           .join((User, and_(User.id == Rating.user_id,
                                             Rating.movie == movie)))\
                           .order_by(Rating.rated.desc()).all()

        if len(last_ratings) == 0:
            avg_rating = None
        else:
            avg_rating = sum(r.rating for r in last_ratings) * .5 / len(last_ratings)

        # user rating
        if self.user is not None:
            try:
                self.view['rating'] = Rating.load(self.session, movie=movie, user=self.user)
            except NoResultFound:
                pass

        self.view.update({'movie': movie,
                          'meta': movie.get_meta(),
                          'last_ratings': last_ratings,
                          'avg_rating': avg_rating})
        self.template = 'movie.phtml'