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