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')
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'))