Module dataMovies.services.imdbService.imdbService

Expand source code
#!/usr/bin/env python3
from .imdbApiCall import ImdbApiCall
from .utils.imdbUtils import get_movie_id
from .utils.imdbUtils import get_movies_first_result

def search_movie(api_key, expression):
    """Fetch the best corresponding movie to expression from ImDb API.
    Args:
        key: a valid ImDb API token string (e.g. 'k_12345678')
        expression: search expression corresponding to your targeted movie (e.g. 'spider-man')

    Returns:
        A python dictionary corresponding to the best movie.
    """
    movies_response = ImdbApiCall.search_movies(api_key, expression)
    movies = movies_response.content
    movie = get_movies_first_result(movies)
    return movie

def get_movie_reviews(api_key, movie):
    """Fetch movie reviews corresponding to expression from ImDb API.
    Args:
        key: a valid ImDb API token string (e.g. 'k_12345678')
        movie: a python dictionary corresponding to your targeted movie (e.g. the return of the search_movie() function)

    Returns:
        A python dictionary corresponding to movie reviews.
    """
    movie_id = get_movie_id(movie)
    reviews_reponse = ImdbApiCall.get_reviews(api_key, movie_id)
    return reviews_reponse.content

def get_movie_users_ratings(api_key, movie):
    """Fetch movie users ratings corresponding to expression from ImDb API.
    Args:
        key: a valid ImDb API token string (e.g. 'k_12345678')
        movie: a python dictionary corresponding to your targeted movie (e.g. the return of the search_movie() function)

    Returns:
        A python dictionary corresponding to movie users ratings.
    """
    movie_id = get_movie_id(movie)
    users_ratings_response = ImdbApiCall.get_users_ratings(api_key, movie_id)
    return users_ratings_response.content

def search_movie_reviews(api_key, expression):
    """Fetch movie reviews corresponding to expression from ImDb API.
    Args:
        key: a valid ImDb API token string (e.g. 'k_12345678')
        expression: search expression corresponding to your targeted movie (e.g. 'spider-man')

    Returns:
        A python dictionary corresponding to movie reviews.
    """
    movie = search_movie(api_key, expression)
    movie_reviews = get_movie_reviews(api_key, movie)
    return movie_reviews

def search_movie_users_ratings(api_key, expression):
    """Fetch movie users ratings corresponding to expression from ImDb API.
    Args:
        key: a valid ImDb API token string (e.g. 'k_12345678')
        expression: search expression corresponding to your targeted movie (e.g. 'spider-man')

    Returns:
        A python dictionary corresponding to movie users ratings.
    """
    movie = search_movie(api_key, expression)
    movie_users_ratings = get_movie_users_ratings(api_key, movie)
    return movie_users_ratings

Functions

def get_movie_reviews(api_key, movie)

Fetch movie reviews corresponding to expression from ImDb API.

Args

key
a valid ImDb API token string (e.g. 'k_12345678')
movie
a python dictionary corresponding to your targeted movie (e.g. the return of the search_movie() function)

Returns

A python dictionary corresponding to movie reviews.

Expand source code
def get_movie_reviews(api_key, movie):
    """Fetch movie reviews corresponding to expression from ImDb API.
    Args:
        key: a valid ImDb API token string (e.g. 'k_12345678')
        movie: a python dictionary corresponding to your targeted movie (e.g. the return of the search_movie() function)

    Returns:
        A python dictionary corresponding to movie reviews.
    """
    movie_id = get_movie_id(movie)
    reviews_reponse = ImdbApiCall.get_reviews(api_key, movie_id)
    return reviews_reponse.content
def get_movie_users_ratings(api_key, movie)

Fetch movie users ratings corresponding to expression from ImDb API.

Args

key
a valid ImDb API token string (e.g. 'k_12345678')
movie
a python dictionary corresponding to your targeted movie (e.g. the return of the search_movie() function)

Returns

A python dictionary corresponding to movie users ratings.

Expand source code
def get_movie_users_ratings(api_key, movie):
    """Fetch movie users ratings corresponding to expression from ImDb API.
    Args:
        key: a valid ImDb API token string (e.g. 'k_12345678')
        movie: a python dictionary corresponding to your targeted movie (e.g. the return of the search_movie() function)

    Returns:
        A python dictionary corresponding to movie users ratings.
    """
    movie_id = get_movie_id(movie)
    users_ratings_response = ImdbApiCall.get_users_ratings(api_key, movie_id)
    return users_ratings_response.content
def search_movie(api_key, expression)

Fetch the best corresponding movie to expression from ImDb API.

Args

key
a valid ImDb API token string (e.g. 'k_12345678')
expression
search expression corresponding to your targeted movie (e.g. 'spider-man')

Returns

A python dictionary corresponding to the best movie.

Expand source code
def search_movie(api_key, expression):
    """Fetch the best corresponding movie to expression from ImDb API.
    Args:
        key: a valid ImDb API token string (e.g. 'k_12345678')
        expression: search expression corresponding to your targeted movie (e.g. 'spider-man')

    Returns:
        A python dictionary corresponding to the best movie.
    """
    movies_response = ImdbApiCall.search_movies(api_key, expression)
    movies = movies_response.content
    movie = get_movies_first_result(movies)
    return movie
def search_movie_reviews(api_key, expression)

Fetch movie reviews corresponding to expression from ImDb API.

Args

key
a valid ImDb API token string (e.g. 'k_12345678')
expression
search expression corresponding to your targeted movie (e.g. 'spider-man')

Returns

A python dictionary corresponding to movie reviews.

Expand source code
def search_movie_reviews(api_key, expression):
    """Fetch movie reviews corresponding to expression from ImDb API.
    Args:
        key: a valid ImDb API token string (e.g. 'k_12345678')
        expression: search expression corresponding to your targeted movie (e.g. 'spider-man')

    Returns:
        A python dictionary corresponding to movie reviews.
    """
    movie = search_movie(api_key, expression)
    movie_reviews = get_movie_reviews(api_key, movie)
    return movie_reviews
def search_movie_users_ratings(api_key, expression)

Fetch movie users ratings corresponding to expression from ImDb API.

Args

key
a valid ImDb API token string (e.g. 'k_12345678')
expression
search expression corresponding to your targeted movie (e.g. 'spider-man')

Returns

A python dictionary corresponding to movie users ratings.

Expand source code
def search_movie_users_ratings(api_key, expression):
    """Fetch movie users ratings corresponding to expression from ImDb API.
    Args:
        key: a valid ImDb API token string (e.g. 'k_12345678')
        expression: search expression corresponding to your targeted movie (e.g. 'spider-man')

    Returns:
        A python dictionary corresponding to movie users ratings.
    """
    movie = search_movie(api_key, expression)
    movie_users_ratings = get_movie_users_ratings(api_key, movie)
    return movie_users_ratings