Пример #1
0
def list_page():
    if request.method == "POST":

        flag = False

        if current_user.username is None:
            flash('Please log in.')
            return redirect(url_for('page.login_page'))

        else:

            list_name = request.form['name']
            movie1 = request.form['moviename1']
            movie2 = request.form['moviename2']
            movie3 = request.form['moviename3']
            movie4 = request.form['moviename4']

            list_array = [
                movie1.title(),
                movie2.title(),
                movie3.title(),
                movie4.title()
            ]

            smovie = Movie(list_array[0], "", "", "", "")
            movie = smovie.search_movie_in_db()
            newlist = MovieList(current_user.get_user_id(), movie, list_name)

            for movie in list_array:
                if movie == "":
                    continue
                else:
                    smovie = Movie(movie, "", "", "", "")
                    movie = smovie.search_movie_in_db()

                    if movie == -1:
                        movieToAdd = smovie.verify_movie_from_api()
                        if (movieToAdd == -1):
                            flash("There is no such movie")
                            return redirect(url_for('page.home_page'))
                        else:
                            movieToAdd.score = 7

                            movieToAdd.add_movie_to_db()
                            movieid = movieToAdd.search_movie_in_db()
                            newlist = MovieList(current_user.get_user_id(),
                                                movieid[0], list_name)
                            newlist.add_movie()

                    else:
                        newlist = MovieList(current_user.get_user_id(), movie,
                                            list_name)
                        if newlist.exists() == 1:
                            flash('You have already added that movie.')
                            return redirect(url_for('page.list_page'))
                        else:
                            newlist.add_movie()

            return redirect(url_for('page.home_page'))

    else:
        return render_template('list.html')
Пример #2
0
def movies_page():

    if request.method == "POST":
        movie = Movie(request.form['title'].title(), "", "", "", "")
        score = request.form['score']
        comments = request.form['comment']

        if int(score) < 1 or int(score) > 10:
            flash("Your rating to the movie should be between 1 and 10.")
            return redirect(url_for('page.movies_page'))

        #checks if user is logged in
        if current_user.get_id() is not None:

            if (movie.search_movie_in_db() != -1):
                movieId = movie.search_movie_in_db()
                userMoviePair = WatchedList(current_user.username, movieId,
                                            score)
                post = Post(current_user.get_user_id(), movieId, comments)

                oldscore = userMoviePair.existsInWatchedList()

                if (oldscore != -1):
                    oldscore = oldscore[0]
                    if int(oldscore) == int(score):
                        flash("You have already added " + movie.title + ".")
                        return redirect(url_for('page.home_page'))
                    else:
                        userMoviePair.updateScoreOfWatchedMovie()

                        oldScoreMoviesTable = int(
                            movie.getscore_in_movie_db(movieId)[0])
                        totalVotes = int(
                            movie.getvotes_in_movie_db(movieId)[0])

                        newscore = ((oldScoreMoviesTable * totalVotes) -
                                    int(oldscore) + int(score)) / (totalVotes)

                        movie.update_votes_and_score(movieId, newscore,
                                                     totalVotes)

                        flash("You score to " + movie.title +
                              " is updated as " + score + ".")
                        return redirect(url_for('page.home_page'))

                else:
                    userMoviePair.add_movie_user_pair()

                    #score and vote need to be updated on movies table
                    oldscore = int(movie.getscore_in_movie_db(movieId)[0])
                    totalVotes = int(movie.getvotes_in_movie_db(movieId)[0])

                    newscore = ((oldscore * totalVotes) +
                                int(score)) / (totalVotes + 1)
                    totalVotes = totalVotes + 1

                    movie.update_votes_and_score(movieId, newscore, totalVotes)

                    post.add_post_to_db()

                    flash(
                        movie.title +
                        " is added to your watched list and your post has been saved."
                    )
                    return redirect(url_for('page.home_page'))

            else:
                movieToAdd = movie.verify_movie_from_api()
                if (movieToAdd == -1):
                    flash("There is no such movie")
                    return redirect(url_for('page.home_page'))
                else:
                    movieToAdd = movie.verify_movie_from_api()
                    movieToAdd.score = score

                    movieToAdd.add_movie_to_db()

                    flash(
                        movieToAdd.title + " (" + movieToAdd.year +
                        ") is added to your watched list and your post has been saved."
                    )

                    movieId = movieToAdd.search_movie_in_db()
                    userMoviePair = WatchedList(current_user.username, movieId,
                                                score)
                    userMoviePair.add_movie_user_pair()

                    post = Post(current_user.get_user_id(), movieId, comments)
                    post.add_post_to_db()

                    return redirect(url_for('page.home_page'))

        else:
            flash("Please log in to MovieShake")
            return redirect(url_for('page.login_page'))
    else:
        if current_user.get_id() is not None:
            return render_template('movies.html')
        else:
            flash("Please log in to MovieShake")
            return redirect(url_for('page.login_page'))