Ejemplo n.º 1
0
def add_reviews(movie_id: int, review_content: str, rank: int, username: str,
                repo: AbstractRepository):
    movie = repo.get_movie_by_id(movie_id)
    # create the review
    review = Review(movie, review_content, rank)
    # add reviews to repository
    repo.add_review(review)
Ejemplo n.º 2
0
def add_review(movie_id: str, username: str, comment: str, rating: int,
               repo: AbstractRepository) -> None:
    movie = repo.get_movie_by_id(movie_id)
    if movie:
        review = Review(movie, username, comment, rating)
        movie.add_review(review)
        if has_app_context():
            _save_reviews_to_disk(current_app.config['REVIEW_DATA_PATH'],
                                  review)
Ejemplo n.º 3
0
def fetch_movie_info_by_id(movie_id: str, repo: AbstractRepository):
    movie_info = dict()

    movie = repo.get_movie_by_id(movie_id)
    if movie:
        movie_info['movie_title'] = movie.title
        movie_info['movie_id'] = movie_id
        movie_info['movie_description'] = movie.description
        if movie.director:
            movie_info[
                'movie_director_full_name'] = movie.director.director_full_name
        movie_info['movie_genres'] = [g.genre_name for g in movie.genres]
        movie_info['movie_actors'] = [a.actor_full_name for a in movie.actors]
        movie_info['movie_reviews'] = [{
            'rating': review.rating,
            'comment': review.review_text,
            'username': review.username,
            'id': review.id
        } for review in movie.reviews]

    return movie_info
Ejemplo n.º 4
0
def remove_review(review_id: str, movie_id: str, repo: AbstractRepository):
    movie = repo.get_movie_by_id(movie_id)
    movie.remove_review_by_id(review_id)
    if has_app_context():
        _remove_review_from_disk(current_app.config['REVIEW_DATA_PATH'],
                                 review_id)
Ejemplo n.º 5
0
def get_movie_by_id(repo: AbstractRepository, movie_id: int) -> Movie:
    """ Returns the Movie with the given id in the given repository. """
    return repo.get_movie_by_id(movie_id)