Exemple #1
0
def count_search(search_term: str, category: str, repo: RepositoryInterface):
    count = 0
    if category == 'movie':
        mv_list = repo.get_movie_list()
        for mv in mv_list:
            if mv.title.lower().find(search_term.lower()) != -1:
                count += 1
    elif category == 'actor':
        actor_list = repo.get_actor_list()
        for actor in actor_list:
            if actor.actor_full_name.lower().find(search_term.lower()) != -1:
                # print("Found: " + actor.actor_full_name.lower() + " with " + search_term.lower())
                # print(count)
                count += 1
    elif category == 'director':
        director_list = repo.get_director_list()
        for director in director_list:
            if director.director_full_name.lower().find(
                    search_term.lower()) != -1:
                count += 1
    elif category == 'genre':
        genre_list = repo.get_genre_list()
        for genre in genre_list:
            if genre.genre_name.lower().find(search_term.lower()) != -1:
                count += 1

    return count
Exemple #2
0
def add_user(username: str, password: str, repo: RepositoryInterface):
    # verify username not taken
    user = repo.get_user(username)
    print('user got')

    if user is not None:
        raise NameNotUniqueException

    # hash password
    password_hash = generate_password_hash(password)

    # create new user
    user = User(username, password_hash)
    repo.add_user(user)
Exemple #3
0
def get_most_viewed(repo: RepositoryInterface):
    v_list = repo.view_count(None)
    print(v_list)
    v_list_sorted = sorted(v_list.items(), key=lambda item: item[1], reverse=True)
    print(v_list_sorted)

    return v_list_sorted
Exemple #4
0
def search(search_term: str, category: str, repo: RepositoryInterface):
    mv_list = repo.get_movie_list()

    r_list = []
    if search_term is None:
        return r_list

    if category == 'movie':
        for mv in mv_list:
            if mv.title.lower().find(search_term.lower()) != -1:
                r_list.append(mv)
    elif category == 'actor':
        for mv in mv_list:
            # print("Search Actor in: " + mv.title)
            for actor in mv.actors:
                # print(actor.actor_full_name.lower())
                if actor.actor_full_name.lower().find(
                        search_term.lower()) != -1:
                    # print("Found: " + actor.actor_full_name.lower())
                    r_list.append(mv)
    elif category == 'director':
        for mv in mv_list:
            if mv.director.director_full_name.lower().find(
                    search_term.lower()) != -1:
                r_list.append(mv)
    elif category == 'genre':
        for mv in mv_list:
            for genre in mv.genres:
                if genre.genre_name.lower().find(search_term.lower()) != -1:
                    r_list.append(mv)

    return r_list
Exemple #5
0
def authenticate_user(username: str, password: str, repo: RepositoryInterface):
    authenticated = False

    user = repo.get_user(username)
    if user is not None:
        print("user pass2: " + password)
        authenticated = check_password_hash(user.password, password)

    if not authenticated:
        raise AuthenticationException
Exemple #6
0
def get_random_movies(quantity, repo: RepositoryInterface):
    movies = repo.movie_random(quantity)

    return movies
Exemple #7
0
def get_user(username: str, repo: RepositoryInterface):
    user = repo.get_user(username)
    if user is None:
        raise UnknownUserException

    return user
Exemple #8
0
def get_trailer(movie: str, repo: RepositoryInterface):
    yt_id = repo.get_trailer(movie)
    yt_url = "https://www.youtube.com/embed/" + yt_id
    return yt_url
Exemple #9
0
def add_views(movie: str, quantity: int, repo: RepositoryInterface):
    repo.add_view(movie, quantity)
Exemple #10
0
def get_views(movie: str, repo: RepositoryInterface):
    return repo.view_count(movie)
Exemple #11
0
def add_review(movie: str, review: str, repo: RepositoryInterface):
    repo.add_review(movie, review)
Exemple #12
0
def get_review(movie: str, repo: RepositoryInterface):
    r_list = repo.get_review(movie)

    return r_list
Exemple #13
0
def movie_filter_year(year, repo: RepositoryInterface):
    r_list = repo.movie_filter_year(year)
    return r_list