def check_na(column, movies): if column == "RT" or column == "Rotten Tomatoes": movies = column_checker('take_movie_while', movies, 'rating_rt') elif column == "IMDb" or column == "Internet Movie Database": movies = column_checker('take_movie_while', movies, 'rating_imdb') elif column == "Metacritic" or column == "MC": movies = column_checker('take_movie_while', movies, 'rating_metacritic') elif column == "date": movies = column_checker('take_movie_while', movies, 'date') elif column == "box_office": movies = column_checker('take_movie_while', movies, 'box_office') return movies
def rating_filter(movies, r_min, r_max, r_type): if r_type == "Internet Movie Database" or r_type == "IMBd": movies = column_checker('popular_movies', movies, 'rating_imdb') movies = filter(lambda movie: _imdb(movie['rating_imdb']) > r_min and _imdb(movie['rating_imbd']) < r_max, movies) elif r_type == "Rotten Tomatoes" or r_type == "RT": movies = column_checker('popular_movies', movies, 'rating_rt') movies = filter(lambda movie: _rt(movie['rating_rt']) > r_min and _rt(movie['rating_rt']) < r_max, movies) elif r_type == "Metacritic" or r_type == "MC": movies = column_checker('popular_movies', movies, 'rating_metacritic') movies = filter(lambda movie: _mc(movie['rating_metacritic']) > r_min and _mc(movie['rating_metacritic']) < r_max, movies) for movie in movies: yield movie
def filter_by_date(movies: Generator, date: int, lower: bool = True) -> Generator: movies = column_checker('filter_by_date', movies, 'date') if lower: movies = filter(lambda movie: int(movie['date']) < date, movies) else: movies = filter(lambda movie: int(movie['date']) > date, movies) for movie in movies: yield movie
def _movies_rating(movies: Generator, r_type: str) -> Generator: if r_type == "All": movies = rating_columns_checker('popular_actors', movies) movies = map(lambda movie: [movie['id'], _rating(movie['rating_imdb'], movie['rating_rt'], movie['rating_metacritic'])], movies) if r_type == "Rotten Tomatoes" or r_type == "RT": movies = column_checker('popular_actors', movies, 'rating_rt') movies = map(lambda movie: [movie['id'], _rt(movie['rating_rt'])], movies) if r_type == "Internet Movie Database" or r_type == "IMDb": movies = column_checker('popular_actors', movies, 'rating_imdb') movies = map(lambda movie: [movie['id'], _imdb(movie['rating_imdb'])], movies) if r_type == "Metacritic" or r_type == "MC": movies = column_checker('popular_actors', movies, 'rating_metacritic') movies = map(lambda movie: [movie['id'], _mc(movie['rating_metacritic'])], movies) for movie in movies: yield movie
def highest_paid_actors(movies: Generator, k_actors: int = 1) -> List[str]: movies = column_checker('highest_paid_actors', movies, 'box_office') movies = list(movies) actors = map(lambda actor: actor['actor'], load_actors()) actors = list(set(actors)) actors_earnings = list( map(lambda actor: actor_earnings(actor, movies), actors)) actors_earnings.sort(key=lambda x: x[1], reverse=True) actors = actors_earnings[:k_actors] actors = [ str([actor[1], actor[0], top_movies(actor[1], movies)]) for actor in actors ] return actors