예제 #1
0
def search_exists(search, select, repo: AbstractRepository):

    if select == "Genre":
        if Genre(search) in repo.get_genres():
            return True
        else:
            return False

    elif select == "Director":
        if Director(search) in repo.get_directors():
            return True
        else:
            return False

    elif select == "Actor":
        if Actor(search) in repo.get_actors():
            return True
        else:
            return False
예제 #2
0
def add_to_watchlist(movie_id: int, username: str, repo: AbstractRepository):

    if repo.get_user(username) is None:
        raise UnknownUserException

    if repo.get_movie(movie_id) is None:
        raise NonExistentMovieException

    repo.add_to_watchlist(repo.get_movie(movie_id), repo.get_user(username))
예제 #3
0
def get_movie_by_a_rank(rank, repo: AbstractRepository):
    movie = repo.get_movie(rank)
    movie_dict = movie_to_dict(movie)
    prev_rank = next_rank = None
    if movie.rank == 1:
        prev_rank = None
        next_rank = 4
    elif movie.rank == 1000:
        prev_rank = 997
        next_rank = None
    elif 1 < movie.rank < 1000:
        prev_rank = movie.rank - 3
        next_rank = movie.rank + 3

    return movie_dict, prev_rank, next_rank
예제 #4
0
def get_movies_by_director(repo: AbstractRepository, director: str):
    res = repo.get_movie_by_director(director)
    return res
예제 #5
0
def get_movies_by_genre(repo: AbstractRepository, genre: str):
    res = repo.get_movie_by_genre(genre)
    return res
예제 #6
0
def get_movies_by_actor(repo: AbstractRepository, name: str):
    res = repo.get_movie_by_actor(name)
    return res
예제 #7
0
def get_all_movies(repo: AbstractRepository):
    res = repo.get_all_movies()
    return res
예제 #8
0
def filter_movies(actor_name: str, director_name: str, genre_name: str, repo: AbstractRepository):
    movie_ids = repo.filter_movies(actor_name, director_name, genre_name)
    return movie_ids
예제 #9
0
def get_last_movie(repo: AbstractRepository):

    movie = repo.get_last_movie()
    return movie_to_dict(movie)
예제 #10
0
def get_movie_ids_for_director(director_name, repo: AbstractRepository):
    director_ids = repo.get_movie_ids_for_director(director_name)

    return director_ids
예제 #11
0
def get_director_names(repo: AbstractRepository):
    directors = repo.get_directors()
    director_names = [director.director_full_name for director in directors]

    return director_names
예제 #12
0
def movies_on_page(current_rank, repo: AbstractRepository):
    movie_list = [current_rank, current_rank + 1, current_rank + 2]

    movies = repo.get_movies_by_rank(movie_list)

    return movies_to_dict(movies)
예제 #13
0
def get_movies_ranks_for_genre(genre_name, repo: AbstractRepository):
    movie_ranks = repo.get_movie_ranks_for_genre(genre_name)

    return movie_ranks
예제 #14
0
def get_movies_by_rank(rank_list, repo: AbstractRepository):
    movies = repo.get_movies_by_rank(rank_list)
    movies_as_dict = movies_to_dict(movies)

    return movies_as_dict
예제 #15
0
def get_movie_by_rank(repo: AbstractRepository, rank: int):
    res = repo.get_movie_by_rank(rank)
    return res
예제 #16
0
def get_actor_names(repo: AbstractRepository):
    actors = repo.get_actors()
    actor_names = [actor.actor_full_name for actor in actors]

    return actor_names
예제 #17
0
def get_movie_ids_for_actor(actor_name, repo: AbstractRepository):
    movie_ids = repo.get_movie_ids_for_actor(actor_name)

    return movie_ids
def get_genre_names(repo: AbstractRepository):
    genres = repo.get_genres()
    genre_names = [genre.genre_name for genre in genres]

    return genre_names
예제 #19
0
def get_movie_ids_for_genre(genre_name, repo: AbstractRepository):
    genre_ids = repo.get_movie_ids_for_genre(genre_name)

    return genre_ids
예제 #20
0
def get_user(username: str, repository: AbstractRepository):
    user = repository.get_user(username)
    if user is None:
        raise UnknownUserException

    return user_to_dict(user)
예제 #21
0
def get_watchlist(username: str, repo: AbstractRepository):
    user = repo.get_user(username)
    if user is None:
        raise UnknownUserException

    return user.watchlist
예제 #22
0
def get_all_movie_ids(repo: AbstractRepository):
    movie_ids = repo.get_all_movie_ids()
    return movie_ids