Beispiel #1
0
def get_movie(movie_id: int, repo: AbstractRepository):
    movie = repo.get_movie_by_id(movie_id)

    if movie is None:
        raise NonExistentMovieException

    return movie_to_dict(movie)
Beispiel #2
0
def get_reviews_for_movie(movie_id, repo: AbstractRepository):
    movie = repo.get_movie_by_id(movie_id)

    if movie is None:
        raise NonExistentMovieException

    return reviews_to_dict(movie.reviews)
Beispiel #3
0
def add_review(movie_id: int, review_text: str, rating: int, username: str, repo: AbstractRepository):
    # Check that the movie exists.
    movie = repo.get_movie_by_id(movie_id)
    if movie is None:
        raise NonExistentMovieException

    user = repo.get_user(username)
    if user is None:
        raise UnknownUserException

    # Create review.
    review = Review(username, movie, review_text, rating)

    # Update the repository.
    user.add_review(review)
Beispiel #4
0
def get_random_movie(quantity, repo: AbstractRepository):
    movie_count = repo.get_number_of_movies()
    random_ids = random.sample(range(1, movie_count), quantity)
    movies = repo.get_movie_by_id(random_ids)
    return movies