diff --git a/.venv/YIFY.db b/.venv/YIFY.db new file mode 100644 index 0000000..941194e Binary files /dev/null and b/.venv/YIFY.db differ diff --git a/.venv/main.py b/.venv/main.py new file mode 100644 index 0000000..a180bb9 --- /dev/null +++ b/.venv/main.py @@ -0,0 +1,83 @@ +import requests +import json +import sqlite3 + + +connection = sqlite3.connect("YIFY.db") +cursor = connection.cursor() +testMovie = "Nightmare on Elm Street" + + +try: + cursor.execute("CREATE TABLE Movies (ID INTEGER UNIQUE, Title TEXT, IMDB_Code TEXT, Rating INTEGER, YT_Trailer TEXT, Description TEXT, Language TEXT,Cover TEXT)") +except sqlite3.OperationalError: + print("Table Movies Exists") + pass + +try: + cursor.execute("CREATE TABLE Hashes (ID INTEGER UNIQUE, hash_720 TEXT, hash_1080 TEXT, hash_2160 TEXT, hash_3D TEXT)") +except sqlite3.OperationalError: + print("Table Hashes Exists") + pass + +def movieSearch(movieName): + movie = requests.get("https://yts.mx/api/v2/list_movies.json?query_term=" + str(movieName)) + movieInfo = json.loads(movie.content) + return movieInfo + + +def movieDetails(movie): + movieDetails = requests.get("https://yts.mx/api/v2/movie_details.json?movie_id=" + str(movie[0])) + try: + movieInfo = json.loads(movieDetails.content) + except json.decoder.JSONDecodeError: + movieInfo = movieDetails.content + return movieInfo + + +def addMovie(query): + sql = "insert or replace into Movies (ID, Title, IMDB_Code, Rating, YT_Trailer, Description, Language,Cover) values (?,?,?,?,?,?,?,?)" + cursor.execute(sql, query) + +def addHashes(query): + sql = "insert or replace into Hashes (ID, hash_720, hash_1080, hash_2160, hash_3D) values (?,?,?,?,?)" + cursor.execute(sql, query) + + +results = movieSearch(testMovie) +latest3D = requests.get("https://yts.mx/api/v2/list_movies.json?quality=3D") + +cleanLatest3D = json.loads(latest3D.content) +for Dmovie in cleanLatest3D['data']['movies']: + query = (Dmovie['id'], Dmovie['title'], Dmovie['imdb_code'], Dmovie['rating'], Dmovie['yt_trailer_code'], Dmovie['summary'], Dmovie['language'], Dmovie['large_cover_image']) + addMovie(query) + +for movie in results['data']['movies']: + query = (movie['id'], movie['title'], movie['imdb_code'],movie['rating'],movie['yt_trailer_code'],movie['summary'],movie['language'],movie['large_cover_image']) + addMovie(query) + +IDs = cursor.execute("SELECT ID FROM Movies").fetchall() + +for ID in IDs: + hashObject = {} + hashObject['ID'] = ID[0] + hashObject['720'] = "" + hashObject['1080'] = "" + hashObject['2160'] = "" + hashObject['3D'] = "" + movieObject = movieDetails(ID) + for torrent in movieObject['data']['movie']['torrents']: + if torrent['quality'] == '720p': + hashObject['720'] = torrent['hash'] + elif torrent['quality'] == '1080p': + hashObject['1080'] = torrent['hash'] + elif torrent['quality'] == '2160p': + hashObject['2160'] = torrent['hash'] + elif torrent['quality'] == '3D': + hashObject['3D'] = torrent['hash'] + query = (str(hashObject['ID']), str(hashObject['720']), str(hashObject['1080']), str(hashObject['2160']), str(hashObject['3D'])) + addHashes(query) + +connection.commit() + +