def get_most_watched_movies():
    users = {}
    movies = {}

    users, movies = movierecom.rate_parser()

    most_watched_movies = []
    most_watched_value = 0

    for movie in movies:

        if most_watched_value < movies[movie]["total_viewers"]:
            most_watched_value = movies[movie]["total_viewers"]
            most_watched_movies = []
            most_watched_movies.append(movies[movie])

        elif most_watched_value == movies[movie]["total_viewers"]:

            most_watched_movies.append(movies[movie])

    pp = pprint.PrettyPrinter(indent=4)
    pp.pprint("Most Watched Movie(s)  :   ")
    pp.pprint(most_watched_movies)
def get_most_active_user():
    users = {}
    movies = {}

    users, movies = movierecom.rate_parser()

    movie_watched = 0
    most_active_users = []

    for user in users:

        if movie_watched < users[user]["total_movie_watched"]:
            movie_watched = users[user]["total_movie_watched"]
            most_active_users = []
            most_active_users.append(users[user])

        elif movie_watched == users[user]["total_movie_watched"]:

            most_active_users.append(users[user])

    pp = pprint.PrettyPrinter(indent=4)
    pp.pprint("Most Active User(s):   ")
    pp.pprint(most_active_users)
def get_highest_rated_movie():
    users = {}
    movies = {}

    users, movies = movierecom.rate_parser()

    highest_rated_movies = []

    max_rating = 0

    for movie in movies:

        if max_rating < movies[movie]["total_rating"] / movies[movie]["total_viewers"]:
            max_rating = movies[movie]["total_rating"] / movies[movie]["total_viewers"]
            highest_rated_movies = []
            highest_rated_movies.append(movies[movie])

        elif max_rating == movies[movie]["total_rating"] / movies[movie]["total_viewers"]:
            highest_rated_movies.append(movies[movie])

    pp = pprint.PrettyPrinter(indent=4)

    pp.pprint("highest rated movie(s):   ")
    pp.pprint(highest_rated_movies)
def get_most_watched_genre():
    users = {}
    movies = {}

    users, movies = movierecom.rate_parser()

    genre_names = (
        "unknown",
        "Action",
        "Adventure",
        "Animation",
        "Children",
        "Comedy",
        "Crime",
        "Documentary",
        "Drama",
        "Fantasy",
        "Film-Noir",
        "Horror",
        "Musical",
        "Mystery",
        "Romance",
        "Sci-Fi",
        "Thriller",
        "War",
        "Western",
    )

    movie_count_genre_vise = {
        "unknown": 0,
        "Action": 0,
        "Adventure": 0,
        "Animation": 0,
        "Children": 0,
        "Comedy": 0,
        "Crime": 0,
        "Documentary": 0,
        "Drama": 0,
        "Fantasy": 0,
        "Film-Noir": 0,
        "Horror": 0,
        "Musical": 0,
        "Mystery": 0,
        "Romance": 0,
        "Sci-Fi": 0,
        "Thriller": 0,
        "War": 0,
        "Western": 0,
    }

    for movie in movies:

        for genre in movies[movie]["genre"]:

            movie_count_genre_vise[genre] = movie_count_genre_vise[genre] + movies[movie]["total_viewers"]

    max_movie_count = 0

    most_watched_genre = 0
    for genre in movie_count_genre_vise:
        if max_movie_count < movie_count_genre_vise[genre]:

            max_movie_count = movie_count_genre_vise[genre]

            most_watched_genre = genre

    pp = pprint.PrettyPrinter(indent=4)
    pp.pprint("Most Watched genre is :   ")
    pp.pprint(most_watched_genre)