def get_movies_by_director(director: str, repo: AbstractRepository): """ """ director = repo.get_director_by_name(director) if director is None: raise BrowseException movies = repo.get_movies_by_director(director) return [utils.movie_to_dict(movie) for movie in movies]
def get_directors(repo: AbstractRepository): """ """ directors = [] for director in sorted(repo.dataset_of_directors): movies = repo.get_movies_by_director(director) directors.append(dict(movies=movies, name=director.director_full_name)) return directors
def get_directors_by_first_letter(character: str, repo: AbstractRepository): """ """ matching_directors = [] for director in sorted(repo.dataset_of_directors): if director.director_full_name[0] == character.upper(): movies = repo.get_movies_by_director(director) matching_directors.append( dict(name=director.director_full_name, movies=[utils.movie_to_dict(movie) for movie in movies])) return matching_directors
def get_movies_by_director(director: str, repo: AbstractRepository): """ """ director = repo.get_director_by_name(director) if director is None: raise PersonException movies = repo.get_movies_by_director(director) return [ utils.movie_to_dict(movie) for movie in sorted(movies, key=lambda x: x.rank) ]