Module dataMovies.services.imdbService.imdbApiCall
Expand source code
#!/usr/bin/env python3
from .imdbResponse import Response
from .imdbRequests import ImdbRequests
from .imdbEndPoint import ImdbEndPoint
from .utils.imdbUtils import get_movies_first_result
class ImdbApiCall:
    requests = ImdbRequests()
    @classmethod
    def search_movies(cls, api_key, expression):
        """Fetch movies corresponding expression from ImDb API.
        Args:
            api_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 Response object corresponding to ImDb API response.
        """
        try:
            endPointUrl = ImdbEndPoint('SearchMovie', api_key, parameter=expression).value()
            response = cls.requests.get(endPointUrl)
            return Response(status_code=response.status_code, content=response.json())
        except Exception as e:
            print(e.__class__.__name__, 'as occured')
            print(e.__str__())
            return Response(status_code=response.status_code, content={})
    @classmethod
    def get_users_ratings(cls, api_key, id_movie):
        """Fetch movie users ratings corresponding movie id from ImDb API.
        Args:
            api_key: a valid ImDb API token string (e.g. 'k_12345678')
            id: string id corresponding to your targeted movie (e.g. 'tt0145487')
        Returns:
            A Response object corresponding to ImDb API response.
        """
        try:
            endPointUrl = ImdbEndPoint('UserRatings', api_key, parameter=id_movie).value()
            response = cls.requests.get(endPointUrl)
            return Response(status_code=response.status_code, content=response.json())
        except Exception as e:
            print(e.__class__.__name__, 'as occured')
            print(e.__str__())
            return Response(status_code=response.status_code, content={})
    @classmethod
    def get_reviews(cls, api_key, id_movie):
        """Fetch reviews corresponding movie id from ImDb API.
        Args:
            api_key: a valid ImDb API token string (e.g. 'k_12345678')
            id: string id corresponding to your targeted movie (e.g. 'tt0145487')
        Returns:
            A Response object corresponding to ImDb API response.
        """
        try:
            endPointUrl = ImdbEndPoint('Reviews', api_key, parameter=id_movie).value()
            response = cls.requests.get(endPointUrl)
            return Response(status_code=response.status_code, content=response.json())
        except Exception as e:
            print(e.__class__.__name__, 'as occured')
            print(e.__str__())
            return Response(status_code=response.status_code, content={})
Classes
class ImdbApiCall- 
Expand source code
class ImdbApiCall: requests = ImdbRequests() @classmethod def search_movies(cls, api_key, expression): """Fetch movies corresponding expression from ImDb API. Args: api_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 Response object corresponding to ImDb API response. """ try: endPointUrl = ImdbEndPoint('SearchMovie', api_key, parameter=expression).value() response = cls.requests.get(endPointUrl) return Response(status_code=response.status_code, content=response.json()) except Exception as e: print(e.__class__.__name__, 'as occured') print(e.__str__()) return Response(status_code=response.status_code, content={}) @classmethod def get_users_ratings(cls, api_key, id_movie): """Fetch movie users ratings corresponding movie id from ImDb API. Args: api_key: a valid ImDb API token string (e.g. 'k_12345678') id: string id corresponding to your targeted movie (e.g. 'tt0145487') Returns: A Response object corresponding to ImDb API response. """ try: endPointUrl = ImdbEndPoint('UserRatings', api_key, parameter=id_movie).value() response = cls.requests.get(endPointUrl) return Response(status_code=response.status_code, content=response.json()) except Exception as e: print(e.__class__.__name__, 'as occured') print(e.__str__()) return Response(status_code=response.status_code, content={}) @classmethod def get_reviews(cls, api_key, id_movie): """Fetch reviews corresponding movie id from ImDb API. Args: api_key: a valid ImDb API token string (e.g. 'k_12345678') id: string id corresponding to your targeted movie (e.g. 'tt0145487') Returns: A Response object corresponding to ImDb API response. """ try: endPointUrl = ImdbEndPoint('Reviews', api_key, parameter=id_movie).value() response = cls.requests.get(endPointUrl) return Response(status_code=response.status_code, content=response.json()) except Exception as e: print(e.__class__.__name__, 'as occured') print(e.__str__()) return Response(status_code=response.status_code, content={})Class variables
var requests
Static methods
def get_reviews(api_key, id_movie)- 
Fetch reviews corresponding movie id from ImDb API.
Args
api_key- a valid ImDb API token string (e.g. 'k_12345678')
 id- string id corresponding to your targeted movie (e.g. 'tt0145487')
 
Returns
A Response object corresponding to ImDb API response.
Expand source code
@classmethod def get_reviews(cls, api_key, id_movie): """Fetch reviews corresponding movie id from ImDb API. Args: api_key: a valid ImDb API token string (e.g. 'k_12345678') id: string id corresponding to your targeted movie (e.g. 'tt0145487') Returns: A Response object corresponding to ImDb API response. """ try: endPointUrl = ImdbEndPoint('Reviews', api_key, parameter=id_movie).value() response = cls.requests.get(endPointUrl) return Response(status_code=response.status_code, content=response.json()) except Exception as e: print(e.__class__.__name__, 'as occured') print(e.__str__()) return Response(status_code=response.status_code, content={}) def get_users_ratings(api_key, id_movie)- 
Fetch movie users ratings corresponding movie id from ImDb API.
Args
api_key- a valid ImDb API token string (e.g. 'k_12345678')
 id- string id corresponding to your targeted movie (e.g. 'tt0145487')
 
Returns
A Response object corresponding to ImDb API response.
Expand source code
@classmethod def get_users_ratings(cls, api_key, id_movie): """Fetch movie users ratings corresponding movie id from ImDb API. Args: api_key: a valid ImDb API token string (e.g. 'k_12345678') id: string id corresponding to your targeted movie (e.g. 'tt0145487') Returns: A Response object corresponding to ImDb API response. """ try: endPointUrl = ImdbEndPoint('UserRatings', api_key, parameter=id_movie).value() response = cls.requests.get(endPointUrl) return Response(status_code=response.status_code, content=response.json()) except Exception as e: print(e.__class__.__name__, 'as occured') print(e.__str__()) return Response(status_code=response.status_code, content={}) def search_movies(api_key, expression)- 
Fetch movies corresponding expression from ImDb API.
Args
api_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 Response object corresponding to ImDb API response.
Expand source code
@classmethod def search_movies(cls, api_key, expression): """Fetch movies corresponding expression from ImDb API. Args: api_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 Response object corresponding to ImDb API response. """ try: endPointUrl = ImdbEndPoint('SearchMovie', api_key, parameter=expression).value() response = cls.requests.get(endPointUrl) return Response(status_code=response.status_code, content=response.json()) except Exception as e: print(e.__class__.__name__, 'as occured') print(e.__str__()) return Response(status_code=response.status_code, content={})