def searchDirectorAPI():

    first_name = request.args.get('first_name')
    last_name = request.args.get('last_name')

    con = mysql.connector.connect(host='localhost',
                                  user='******',
                                  password='******',
                                  database='IMDB')
    cursor = con.cursor()

    #query to search director for given director first name and director last name
    cursor.execute(
        "select * from directors where first_name = %s and last_name =%s",
        (first_name, last_name))

    director_data = cursor.fetchall()
    cursor.close()

    #check for empty and more that one condition :
    isOneRecord = MovieUtil.validateLenght(director_data)

    if not isOneRecord:
        return ""

    director_id = director_data[0][0]

    cursor = con.cursor()
    cursor.execute(
        "select count(*) from movies_directors where director_id = %s",
        (director_id, ))

    NumberOfMovies = cursor.fetchall()[0][0]
    cursor.close()

    isGreaterThanZero = MovieUtil.validateNumberOfMoviesForDirectorOrActor(
        NumberOfMovies)

    if isOneRecord and isGreaterThanZero:
        cursor = con.cursor()
        cursor.execute(
            "select * from movies m join movies_directors md on m.id = md.movie_id "
            "where md.director_id = %s order by m.year desc limit 5",
            (director_id, ))

        movies_data = cursor.fetchall()
        cursor.close()

        SearchDirector_Dict = directorAPIUtil.fillSearchDirectorAPI(
            first_name, last_name, NumberOfMovies, movies_data)
        SearchDirector_Dict = json.dumps(SearchDirector_Dict)
        return str(SearchDirector_Dict)

    return ""
Exemple #2
0
def searchMovieAPI():

    movie_name = request.args.get('movie_name')

    con = mysql.connector.connect(host='localhost',
                                  user='******',
                                  password='******',
                                  database='IMDB')
    cursor = con.cursor()

    # query to search movie record given movie name
    cursor.execute("select * from movies where name = %s", (movie_name, ))

    movie_data = cursor.fetchall()
    cursor.close()

    # check for empty and more that one condition :
    isOneRecord = MovieUtil.validateLenght(movie_data)

    if not isOneRecord:
        return ""

    movie_id = movie_data[0][0]

    # query to find actor details releted to perticular movie_id
    cursor = con.cursor()
    cursor.execute(
        "select a.first_name,a.last_name,r.role from actors a join roles r on a.id = r.actor_id where r.movie_id = %s limit 5",
        (movie_id, ))
    actor_data = cursor.fetchall()
    cursor.close()

    # query to find genres of the perticular movie id
    cursor = con.cursor()
    cursor.execute("select genre from movies_genres where movie_id = %s",
                   (movie_id, ))
    genre_data = cursor.fetchall()
    cursor.close()

    # query to find director details releted to perticular movie_id
    cursor = con.cursor()
    cursor.execute(
        "select d.first_name, d.last_name from movies_directors md join directors d on md.director_id = d.id "
        "where movie_id = %s", (movie_id, ))
    director_data = cursor.fetchall()
    cursor.close()

    actorAPIDictionary = MovieUtil.fillMovieAPIDetails(movie_data, genre_data,
                                                       director_data,
                                                       actor_data)
    actorAPIDictionary = json.dumps(actorAPIDictionary)
    return str(actorAPIDictionary)
def searchActorAPI():

    first_name = request.args.get('first_name')
    last_name = request.args.get('last_name')

    con = mysql.connector.connect(
        host='localhost',
        user='******',
        password='******',
        database='IMDB'
    )
    cursor = con.cursor()

    cursor.execute("select * from actors where first_name = %s and last_name = %s",(first_name,last_name))

    actor_data = cursor.fetchall()
    cursor.close()

    # check for empty and more that one condition :
    isOneRecord = MovieUtil.validateLenght(actor_data)

    if not isOneRecord:
        return ""

    actor_id = actor_data[0][0]

    cursor = con.cursor()
    cursor.execute("select count(*) from roles where actor_id = %s", (actor_id,))

    NumberOfMovies = cursor.fetchall()[0][0]
    cursor.close()

    isGreaterThanZero = MovieUtil.validateNumberOfMoviesForDirectorOrActor(NumberOfMovies)

    if isOneRecord and isGreaterThanZero:
        cursor = con.cursor()
        cursor.execute("select * from movies m join roles r on m.id = r.movie_id where r.actor_id = %s order by m.year desc",
                       (actor_id,))

        movies_data = cursor.fetchall();
        cursor.close()

    searchActorDictionary = searchActorUtil.fillSearchActorAPI(first_name, last_name, NumberOfMovies, movies_data)
    searchActorDictionary = json.dumps(searchActorDictionary)

    return str(searchActorDictionary)