Beispiel #1
0
def get_reviews_for_movie(movie_title, movie_year, repo: AbstractRepository):
    movie = repo.get_movie_by_title_and_year(movie_title, movie_year)

    if movie is None:
        raise NonExistentMovieException

    return reviews_to_dict(movie.reviews)
Beispiel #2
0
def get_movie_by_title_and_year(title: str, year: int, repo: AbstractRepository):
    movie = repo.get_movie_by_title_and_year(title, year)

    if movie is None:
        raise NonExistentMovieException
    
    return movie_to_dict(movie)
Beispiel #3
0
def remove_movie_from_watchlist(username: str, movie_title: str,
                                movie_year: int, repo: AbstractRepository):
    # Check user exists
    user = repo.get_user(username)
    if user is None:
        raise UnknownUserException

    # Check movie exists
    movie = repo.get_movie_by_title_and_year(movie_title, movie_year)
    if movie is None:
        raise NonExistentMovieException

    repo.remove_movie_from_user_watchlist(user, movie)
Beispiel #4
0
def add_review(movie_title: str, movie_year: int, username: str, review_text: str, rating: int, repo: AbstractRepository):
    # Check movie and user exists
    movie = repo.get_movie_by_title_and_year(movie_title, movie_year)
    if movie is None:
        raise NonExistentMovieException

    user = repo.get_user(username)
    if user is None:
        raise UnknownUserException
    
    # Create review
    review = make_review(user, movie, review_text, rating)

    # Add review
    repo.add_review(review)