示例#1
0
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]
示例#2
0
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
示例#3
0
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
示例#4
0
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)
    ]