Пример #1
0
def get_actors(repo: AbstractRepository):
    """
    """
    actors = []
    for actor in sorted(repo.dataset_of_actors):
        movies = repo.get_movies_by_actor(actor)
        actors.append(dict(name=actor.actor_full_name, movies=[utils.movie_to_dict(movie) for movie in movies]))
    return actors
Пример #2
0
def get_actors_by_first_letter(character: str, repo: AbstractRepository):
    """
    """
    matching_actors = []
    for actor in sorted(repo.dataset_of_actors):
        if actor.actor_full_name[0] == character.upper():
            movies = repo.get_movies_by_actor(actor)
            matching_actors.append(
                dict(name=actor.actor_full_name, movies=[utils.movie_to_dict(movie) for movie in movies]))
    return matching_actors
Пример #3
0
def get_movies_by_actor(actor, repo: AbstractRepository):
    """
    """
    actor = repo.get_actor(actor)
    if actor is None:
        raise PersonException('Actor does not exist')
    movies = repo.get_movies_by_actor(actor)
    return [
        utils.movie_to_dict(movie)
        for movie in sorted(movies, key=lambda x: x.rank)
    ], get_collegues(actor)