From 23bf4392e4d0fc8493ca557c991fe5e3f3f1c4d1 Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Sat, 19 Feb 2022 18:55:37 -0500 Subject: [PATCH 01/12] initial working script --- streaming-check/movie_check.py | 72 ++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 streaming-check/movie_check.py diff --git a/streaming-check/movie_check.py b/streaming-check/movie_check.py new file mode 100644 index 0000000..7261cd1 --- /dev/null +++ b/streaming-check/movie_check.py @@ -0,0 +1,72 @@ +#!/usr/bin/python3 + +import requests +import urllib +from datetime import datetime +import os + +tmdb_api_token = os.environ.get("TMDB_API_TOKEN") +sa_api_token = os.environ.get("SA_API_TOKEN") + +tmdb_url = "https://api.themoviedb.org/3" +tmdb_headers = { + 'Authorization': f'Bearer {tmdb_api_token}', + 'Content-Type': 'application/json;charset=utf-8', + 'Accept': 'application/json;charset=utf-8' +} + +sa_url = "https://streaming-availability.p.rapidapi.com/get/basic" +sa_headers = { + 'x-rapidapi-host': "streaming-availability.p.rapidapi.com", + 'x-rapidapi-key': sa_api_token + } + +movie = "12 angry men" +movie_safe = urllib.parse.quote_plus(movie) + +tmdb_search = requests.get(f"{tmdb_url}/search/movie?language=en-US&query={movie_safe}&page=1&include_adult=false", headers=tmdb_headers).json() +movie_id = tmdb_search['results'][0]['id'] +movie_tile = tmdb_search['results'][0]['title'] +movie_release = tmdb_search['results'][0]['release_date'] + +sa_querystring = {"country":"us","tmdb_id":f"movie/{movie_id}","output_language":"en"} + + + +sa_response = requests.request("GET", sa_url, headers=sa_headers, params=sa_querystring).json() + +services_list = [] +services = sa_response["streamingInfo"] + +print(movie_tile + f" ({movie_release})") +for s in services: + countries = sa_response["streamingInfo"][s] + for c in countries: + leaving_epoch = sa_response["streamingInfo"][s][c]["leaving"] + leaving_date = datetime.fromtimestamp(int(leaving_epoch)).strftime('%Y-%m-%d') + link = sa_response["streamingInfo"][s][c]["link"] + print(f"Available on {s}") + if leaving_epoch != 0: + print(f"Will be leaving {s} on {leaving_date}") + print(f"Watch here: {link}") +# country = response["streamingInfo"][services] +# leaving = response["streamingInfo"][services]["leaving"] +# link = response["streamingInfo"][services]["link"] + +#print(services) + + +# changes = {} +# for x in services: +# changes[x] = response["streamingInfo"][x][x]['leaving'] +# print(changes) + + +# for s in services: +# services_list.append(s) + +# print(services_list) + +# for s in services['hulu']: +# print(s) +#print(json.dumps(response, indent=4, sort_keys=True)) \ No newline at end of file From a725bc4886f3bf6b34f46390d9d8193938b6acfe Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Sat, 19 Feb 2022 19:11:00 -0500 Subject: [PATCH 02/12] switched date to year --- streaming-check/movie_check.py | 31 +++---------------------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/streaming-check/movie_check.py b/streaming-check/movie_check.py index 7261cd1..f863ad1 100644 --- a/streaming-check/movie_check.py +++ b/streaming-check/movie_check.py @@ -27,18 +27,14 @@ movie_safe = urllib.parse.quote_plus(movie) tmdb_search = requests.get(f"{tmdb_url}/search/movie?language=en-US&query={movie_safe}&page=1&include_adult=false", headers=tmdb_headers).json() movie_id = tmdb_search['results'][0]['id'] movie_tile = tmdb_search['results'][0]['title'] -movie_release = tmdb_search['results'][0]['release_date'] +movie_release = datetime.strptime(tmdb_search['results'][0]['release_date'], "%Y-%m-%d") sa_querystring = {"country":"us","tmdb_id":f"movie/{movie_id}","output_language":"en"} - - - sa_response = requests.request("GET", sa_url, headers=sa_headers, params=sa_querystring).json() -services_list = [] services = sa_response["streamingInfo"] -print(movie_tile + f" ({movie_release})") +print(movie_tile + f" ({movie_release.year})") for s in services: countries = sa_response["streamingInfo"][s] for c in countries: @@ -48,25 +44,4 @@ for s in services: print(f"Available on {s}") if leaving_epoch != 0: print(f"Will be leaving {s} on {leaving_date}") - print(f"Watch here: {link}") -# country = response["streamingInfo"][services] -# leaving = response["streamingInfo"][services]["leaving"] -# link = response["streamingInfo"][services]["link"] - -#print(services) - - -# changes = {} -# for x in services: -# changes[x] = response["streamingInfo"][x][x]['leaving'] -# print(changes) - - -# for s in services: -# services_list.append(s) - -# print(services_list) - -# for s in services['hulu']: -# print(s) -#print(json.dumps(response, indent=4, sort_keys=True)) \ No newline at end of file + print(f"Watch here: {link}") \ No newline at end of file From 7e4c86b921f5fdef3bd49533b9e85a558f72c310 Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Sat, 19 Feb 2022 20:15:49 -0500 Subject: [PATCH 03/12] Error handling and spelling correction --- streaming-check/movie_check.py | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/streaming-check/movie_check.py b/streaming-check/movie_check.py index f863ad1..1e2a861 100644 --- a/streaming-check/movie_check.py +++ b/streaming-check/movie_check.py @@ -4,6 +4,7 @@ import requests import urllib from datetime import datetime import os +import sys tmdb_api_token = os.environ.get("TMDB_API_TOKEN") sa_api_token = os.environ.get("SA_API_TOKEN") @@ -21,10 +22,15 @@ sa_headers = { 'x-rapidapi-key': sa_api_token } -movie = "12 angry men" +movie = "finch" movie_safe = urllib.parse.quote_plus(movie) tmdb_search = requests.get(f"{tmdb_url}/search/movie?language=en-US&query={movie_safe}&page=1&include_adult=false", headers=tmdb_headers).json() + +if not tmdb_search["results"]: + print("I'm having trouble finding that movie. Check your spelling and try again.") + exit() + movie_id = tmdb_search['results'][0]['id'] movie_tile = tmdb_search['results'][0]['title'] movie_release = datetime.strptime(tmdb_search['results'][0]['release_date'], "%Y-%m-%d") @@ -34,14 +40,33 @@ sa_response = requests.request("GET", sa_url, headers=sa_headers, params=sa_quer services = sa_response["streamingInfo"] +def services_speller(service): + if service == "hbo": + service_proper = "HBO Max" + if service == "hulu": + service_proper = "Hulu" + if service == "prime": + service_proper = "Amazon Prime" + if service == "netflix": + service_proper = "Netflix" + if service == "disney": + service_proper = "Disney+" + if service == "apple": + service_proper = "Apple TV+" + return service_proper + + + print(movie_tile + f" ({movie_release.year})") +if not services: + print("Movie not available for streaming :(") for s in services: countries = sa_response["streamingInfo"][s] for c in countries: leaving_epoch = sa_response["streamingInfo"][s][c]["leaving"] leaving_date = datetime.fromtimestamp(int(leaving_epoch)).strftime('%Y-%m-%d') link = sa_response["streamingInfo"][s][c]["link"] - print(f"Available on {s}") + print(f"Available on {services_speller(s)}") if leaving_epoch != 0: print(f"Will be leaving {s} on {leaving_date}") print(f"Watch here: {link}") \ No newline at end of file From 35d75c4b69d240e412a7e773be385582218fca98 Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Sat, 19 Feb 2022 23:53:20 -0500 Subject: [PATCH 04/12] Rating check from TMDB --- streaming-check/movie_check.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/streaming-check/movie_check.py b/streaming-check/movie_check.py index 1e2a861..a076cce 100644 --- a/streaming-check/movie_check.py +++ b/streaming-check/movie_check.py @@ -4,7 +4,6 @@ import requests import urllib from datetime import datetime import os -import sys tmdb_api_token = os.environ.get("TMDB_API_TOKEN") sa_api_token = os.environ.get("SA_API_TOKEN") @@ -22,7 +21,7 @@ sa_headers = { 'x-rapidapi-key': sa_api_token } -movie = "finch" +movie = "eternals" movie_safe = urllib.parse.quote_plus(movie) tmdb_search = requests.get(f"{tmdb_url}/search/movie?language=en-US&query={movie_safe}&page=1&include_adult=false", headers=tmdb_headers).json() @@ -34,6 +33,8 @@ if not tmdb_search["results"]: movie_id = tmdb_search['results'][0]['id'] movie_tile = tmdb_search['results'][0]['title'] movie_release = datetime.strptime(tmdb_search['results'][0]['release_date'], "%Y-%m-%d") +movie_rating = tmdb_search['results'][0]['vote_average'] + sa_querystring = {"country":"us","tmdb_id":f"movie/{movie_id}","output_language":"en"} sa_response = requests.request("GET", sa_url, headers=sa_headers, params=sa_querystring).json() @@ -58,6 +59,7 @@ def services_speller(service): print(movie_tile + f" ({movie_release.year})") +print(f"Rating: {movie_rating}") if not services: print("Movie not available for streaming :(") for s in services: From c3cde35d328671631e0c8f6c75838c2e91aa879d Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Sun, 20 Feb 2022 00:02:39 -0500 Subject: [PATCH 05/12] user input for movie title --- streaming-check/movie_check.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/streaming-check/movie_check.py b/streaming-check/movie_check.py index a076cce..240192c 100644 --- a/streaming-check/movie_check.py +++ b/streaming-check/movie_check.py @@ -21,7 +21,7 @@ sa_headers = { 'x-rapidapi-key': sa_api_token } -movie = "eternals" +movie = input("Enter a movie: ") movie_safe = urllib.parse.quote_plus(movie) tmdb_search = requests.get(f"{tmdb_url}/search/movie?language=en-US&query={movie_safe}&page=1&include_adult=false", headers=tmdb_headers).json() @@ -61,7 +61,7 @@ def services_speller(service): print(movie_tile + f" ({movie_release.year})") print(f"Rating: {movie_rating}") if not services: - print("Movie not available for streaming :(") + print("Streaming not available :(") for s in services: countries = sa_response["streamingInfo"][s] for c in countries: From cbaec1a4e73c1dc6a684e8ac9f5fb0faddd1395a Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Sun, 20 Feb 2022 13:47:39 -0500 Subject: [PATCH 06/12] -removed unnecessary loop -error handling for unknown year -error handling for 404 -optional --year argument --- streaming-check/movie_check.py | 60 +++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 19 deletions(-) diff --git a/streaming-check/movie_check.py b/streaming-check/movie_check.py index 240192c..8cdb1a2 100644 --- a/streaming-check/movie_check.py +++ b/streaming-check/movie_check.py @@ -4,6 +4,12 @@ import requests import urllib from datetime import datetime import os +import argparse + +def get_args(): + parser = argparse.ArgumentParser(description='Search movie streaming availability.') + parser.add_argument('--year', type=int, help='Specify movie release year') + return parser.parse_args() tmdb_api_token = os.environ.get("TMDB_API_TOKEN") sa_api_token = os.environ.get("SA_API_TOKEN") @@ -21,10 +27,14 @@ sa_headers = { 'x-rapidapi-key': sa_api_token } +args = get_args() movie = input("Enter a movie: ") movie_safe = urllib.parse.quote_plus(movie) -tmdb_search = requests.get(f"{tmdb_url}/search/movie?language=en-US&query={movie_safe}&page=1&include_adult=false", headers=tmdb_headers).json() +if args.year: + tmdb_search = requests.get(f"{tmdb_url}/search/movie?language=en-US&query={movie_safe}&page=1&include_adult=false&primary_release_year={args.year}", headers=tmdb_headers).json() +else: + tmdb_search = requests.get(f"{tmdb_url}/search/movie?language=en-US&query={movie_safe}&page=1&include_adult=false", headers=tmdb_headers).json() if not tmdb_search["results"]: print("I'm having trouble finding that movie. Check your spelling and try again.") @@ -32,43 +42,55 @@ if not tmdb_search["results"]: movie_id = tmdb_search['results'][0]['id'] movie_tile = tmdb_search['results'][0]['title'] -movie_release = datetime.strptime(tmdb_search['results'][0]['release_date'], "%Y-%m-%d") +movie_release_check = tmdb_search['results'][0]['release_date'] + +if movie_release_check: + movie_release = datetime.strptime(tmdb_search['results'][0]['release_date'], "%Y-%m-%d") +else: movie_release = "???" + movie_rating = tmdb_search['results'][0]['vote_average'] - sa_querystring = {"country":"us","tmdb_id":f"movie/{movie_id}","output_language":"en"} -sa_response = requests.request("GET", sa_url, headers=sa_headers, params=sa_querystring).json() +sa_request = requests.request("GET", sa_url, headers=sa_headers, params=sa_querystring) + + +if sa_request.status_code == 404: + print("I'm having trouble finding that movie. Check your spelling and try again.") + exit() + +sa_response = sa_request.json() services = sa_response["streamingInfo"] def services_speller(service): if service == "hbo": service_proper = "HBO Max" - if service == "hulu": + elif service == "hulu": service_proper = "Hulu" - if service == "prime": + elif service == "prime": service_proper = "Amazon Prime" - if service == "netflix": + elif service == "netflix": service_proper = "Netflix" - if service == "disney": + elif service == "disney": service_proper = "Disney+" - if service == "apple": + elif service == "apple": service_proper = "Apple TV+" + elif service == "paramount": + service_proper = "Paramount+" + else: + return service return service_proper - print(movie_tile + f" ({movie_release.year})") print(f"Rating: {movie_rating}") if not services: print("Streaming not available :(") for s in services: - countries = sa_response["streamingInfo"][s] - for c in countries: - leaving_epoch = sa_response["streamingInfo"][s][c]["leaving"] - leaving_date = datetime.fromtimestamp(int(leaving_epoch)).strftime('%Y-%m-%d') - link = sa_response["streamingInfo"][s][c]["link"] - print(f"Available on {services_speller(s)}") - if leaving_epoch != 0: - print(f"Will be leaving {s} on {leaving_date}") - print(f"Watch here: {link}") \ No newline at end of file + leaving_epoch = sa_response["streamingInfo"][s]["us"]["leaving"] + leaving_date = datetime.fromtimestamp(int(leaving_epoch)).strftime('%Y-%m-%d') + link = sa_response["streamingInfo"][s]["us"]["link"] + print(f"Available on {services_speller(s)}") + if leaving_epoch != 0: + print(f"Will be leaving {s} on {leaving_date}") + print(f"Watch here: {link}") \ No newline at end of file From b732735187d58c58859b9a89a606dbb3f4d84068 Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Mon, 28 Mar 2022 18:59:11 -0400 Subject: [PATCH 07/12] functions, better formatting --- streaming-check/movie_check.py | 123 +++++++++++++++++++++------------ 1 file changed, 77 insertions(+), 46 deletions(-) diff --git a/streaming-check/movie_check.py b/streaming-check/movie_check.py index 8cdb1a2..32f1ce2 100644 --- a/streaming-check/movie_check.py +++ b/streaming-check/movie_check.py @@ -6,10 +6,6 @@ from datetime import datetime import os import argparse -def get_args(): - parser = argparse.ArgumentParser(description='Search movie streaming availability.') - parser.add_argument('--year', type=int, help='Specify movie release year') - return parser.parse_args() tmdb_api_token = os.environ.get("TMDB_API_TOKEN") sa_api_token = os.environ.get("SA_API_TOKEN") @@ -27,40 +23,47 @@ sa_headers = { 'x-rapidapi-key': sa_api_token } -args = get_args() -movie = input("Enter a movie: ") -movie_safe = urllib.parse.quote_plus(movie) -if args.year: - tmdb_search = requests.get(f"{tmdb_url}/search/movie?language=en-US&query={movie_safe}&page=1&include_adult=false&primary_release_year={args.year}", headers=tmdb_headers).json() -else: - tmdb_search = requests.get(f"{tmdb_url}/search/movie?language=en-US&query={movie_safe}&page=1&include_adult=false", headers=tmdb_headers).json() - -if not tmdb_search["results"]: - print("I'm having trouble finding that movie. Check your spelling and try again.") - exit() - -movie_id = tmdb_search['results'][0]['id'] -movie_tile = tmdb_search['results'][0]['title'] -movie_release_check = tmdb_search['results'][0]['release_date'] - -if movie_release_check: - movie_release = datetime.strptime(tmdb_search['results'][0]['release_date'], "%Y-%m-%d") -else: movie_release = "???" - -movie_rating = tmdb_search['results'][0]['vote_average'] - -sa_querystring = {"country":"us","tmdb_id":f"movie/{movie_id}","output_language":"en"} -sa_request = requests.request("GET", sa_url, headers=sa_headers, params=sa_querystring) +def get_args(): + parser = argparse.ArgumentParser(description='Search movie streaming availability.') + parser.add_argument('--year', type=int, help='Specify movie release year') + return parser.parse_args() -if sa_request.status_code == 404: - print("I'm having trouble finding that movie. Check your spelling and try again.") - exit() +def tmdb_lookup(tmdb_url, tmdb_headers, tmdb_params): + tmdb_search = requests.get(f"{tmdb_url}/search/movie", params=tmdb_params, headers=tmdb_headers).json() -sa_response = sa_request.json() + if not tmdb_search["results"]: + print("I'm having trouble finding that movie. Check your spelling and try again.") + exit() + + movie_id = tmdb_search['results'][0]['id'] + movie_title = tmdb_search['results'][0]['title'] + movie_release_check = tmdb_search['results'][0]['release_date'] + + if movie_release_check: + movie_release = datetime.strptime(tmdb_search['results'][0]['release_date'], "%Y-%m-%d") + else: movie_release = "???" + + movie_rating = tmdb_search['results'][0]['vote_average'] + + return movie_id,movie_title,movie_release,movie_rating + + +def sa_lookup(sa_url, sa_headers, movie_id): + sa_querystring = {"country":"us","tmdb_id":f"movie/{movie_id}","output_language":"en"} + sa_request = requests.request("GET", sa_url, headers=sa_headers, params=sa_querystring) + + + if sa_request.status_code == 404: + print("I'm having trouble finding that movie. Check your spelling and try again.") + exit() + + sa_response = sa_request.json() + services = sa_response["streamingInfo"] + + return sa_response, services -services = sa_response["streamingInfo"] def services_speller(service): if service == "hbo": @@ -80,17 +83,45 @@ def services_speller(service): else: return service return service_proper - -print(movie_tile + f" ({movie_release.year})") -print(f"Rating: {movie_rating}") -if not services: - print("Streaming not available :(") -for s in services: - leaving_epoch = sa_response["streamingInfo"][s]["us"]["leaving"] - leaving_date = datetime.fromtimestamp(int(leaving_epoch)).strftime('%Y-%m-%d') - link = sa_response["streamingInfo"][s]["us"]["link"] - print(f"Available on {services_speller(s)}") - if leaving_epoch != 0: - print(f"Will be leaving {s} on {leaving_date}") - print(f"Watch here: {link}") \ No newline at end of file + +def main(): + + args = get_args() + movie = input("Enter a movie: ") + movie_safe = urllib.parse.quote_plus(movie) + + tmdb_params = { + "language": "en-US", + "query": movie_safe, + "page": 1, + "include_adult": False + } + + if args.year: + tmdb_params["primary_release_year"] = args.year + + movie_id, movie_title, movie_release, movie_rating = tmdb_lookup(tmdb_url, tmdb_headers, tmdb_params) + + print(movie_title + f" ({movie_release.year})") + print(f"Rating: {movie_rating}\n") + + sa_response, services = sa_lookup(sa_url, sa_headers, movie_id) + + if not services: + print("Streaming not available :(") + + for s in services: + leaving_epoch = sa_response["streamingInfo"][s]["us"]["leaving"] + leaving_date = datetime.fromtimestamp(int(leaving_epoch)).strftime('%Y-%m-%d') + link = sa_response["streamingInfo"][s]["us"]["link"] + + print(f"Available on {services_speller(s)}") + + if leaving_epoch != 0: + print(f"Will be leaving on {leaving_date}") + + print(f"Watch here: {link}\n") + +if __name__ == "__main__": + main() \ No newline at end of file From f4bef215b5ef6930b54c176f2f56d0ff2010c756 Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Mon, 28 Mar 2022 19:18:31 -0400 Subject: [PATCH 08/12] variable shuffle, remove urllib --- streaming-check/movie_check.py | 64 ++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/streaming-check/movie_check.py b/streaming-check/movie_check.py index 32f1ce2..ce2f3c0 100644 --- a/streaming-check/movie_check.py +++ b/streaming-check/movie_check.py @@ -1,7 +1,6 @@ #!/usr/bin/python3 import requests -import urllib from datetime import datetime import os import argparse @@ -25,16 +24,30 @@ sa_headers = { def get_args(): - parser = argparse.ArgumentParser(description='Search movie streaming availability.') + parser = argparse.ArgumentParser( + description='Search movie streaming availability.') + parser.add_argument('--year', type=int, help='Specify movie release year') return parser.parse_args() -def tmdb_lookup(tmdb_url, tmdb_headers, tmdb_params): - tmdb_search = requests.get(f"{tmdb_url}/search/movie", params=tmdb_params, headers=tmdb_headers).json() +def tmdb_lookup(tmdb_url, tmdb_headers, movie, args): + tmdb_params = { + "language": "en-US", + "query": movie, + "page": 1, + "include_adult": False + } + + if args.year: + tmdb_params["primary_release_year"] = args.year + + tmdb_search = requests.get(f"{tmdb_url}/search/movie", params=tmdb_params, + headers=tmdb_headers).json() if not tmdb_search["results"]: - print("I'm having trouble finding that movie. Check your spelling and try again.") + print("I'm having trouble finding that movie. " + + "Check your spelling and try again.") exit() movie_id = tmdb_search['results'][0]['id'] @@ -42,21 +55,29 @@ def tmdb_lookup(tmdb_url, tmdb_headers, tmdb_params): movie_release_check = tmdb_search['results'][0]['release_date'] if movie_release_check: - movie_release = datetime.strptime(tmdb_search['results'][0]['release_date'], "%Y-%m-%d") - else: movie_release = "???" + movie_release = datetime.strptime( + tmdb_search['results'][0]['release_date'], "%Y-%m-%d") + else: + movie_release = "???" movie_rating = tmdb_search['results'][0]['vote_average'] - return movie_id,movie_title,movie_release,movie_rating + return movie_id, movie_title, movie_release, movie_rating def sa_lookup(sa_url, sa_headers, movie_id): - sa_querystring = {"country":"us","tmdb_id":f"movie/{movie_id}","output_language":"en"} - sa_request = requests.request("GET", sa_url, headers=sa_headers, params=sa_querystring) + sa_params = { + "country": "us", + "tmdb_id": f"movie/{movie_id}", + "output_language": "en" + } + sa_request = requests.request("GET", sa_url, headers=sa_headers, + params=sa_params) if sa_request.status_code == 404: - print("I'm having trouble finding that movie. Check your spelling and try again.") + print("I'm having trouble finding that movie. " + + "Check your spelling and try again.") exit() sa_response = sa_request.json() @@ -89,19 +110,8 @@ def main(): args = get_args() movie = input("Enter a movie: ") - movie_safe = urllib.parse.quote_plus(movie) - tmdb_params = { - "language": "en-US", - "query": movie_safe, - "page": 1, - "include_adult": False - } - - if args.year: - tmdb_params["primary_release_year"] = args.year - - movie_id, movie_title, movie_release, movie_rating = tmdb_lookup(tmdb_url, tmdb_headers, tmdb_params) + movie_id, movie_title, movie_release, movie_rating = tmdb_lookup(tmdb_url, tmdb_headers, movie, args) print(movie_title + f" ({movie_release.year})") print(f"Rating: {movie_rating}\n") @@ -110,10 +120,11 @@ def main(): if not services: print("Streaming not available :(") - + for s in services: leaving_epoch = sa_response["streamingInfo"][s]["us"]["leaving"] - leaving_date = datetime.fromtimestamp(int(leaving_epoch)).strftime('%Y-%m-%d') + leaving_date = datetime.fromtimestamp( + int(leaving_epoch)).strftime('%Y-%m-%d') link = sa_response["streamingInfo"][s]["us"]["link"] print(f"Available on {services_speller(s)}") @@ -123,5 +134,6 @@ def main(): print(f"Watch here: {link}\n") + if __name__ == "__main__": - main() \ No newline at end of file + main() From 2197eaf0648937e0b85c390ae925d68a17d1704e Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Mon, 28 Mar 2022 19:19:00 -0400 Subject: [PATCH 09/12] initial commit --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..600d2d3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode \ No newline at end of file From 01a3302911c8f5eb18782c03d6eb211996304835 Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Mon, 28 Mar 2022 19:20:52 -0400 Subject: [PATCH 10/12] rename dir --- {streaming-check => movie-check}/movie_check.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename {streaming-check => movie-check}/movie_check.py (97%) diff --git a/streaming-check/movie_check.py b/movie-check/movie_check.py similarity index 97% rename from streaming-check/movie_check.py rename to movie-check/movie_check.py index ce2f3c0..26ea96e 100644 --- a/streaming-check/movie_check.py +++ b/movie-check/movie_check.py @@ -111,7 +111,8 @@ def main(): args = get_args() movie = input("Enter a movie: ") - movie_id, movie_title, movie_release, movie_rating = tmdb_lookup(tmdb_url, tmdb_headers, movie, args) + movie_id, movie_title, movie_release, movie_rating = tmdb_lookup( + tmdb_url, tmdb_headers, movie, args) print(movie_title + f" ({movie_release.year})") print(f"Rating: {movie_rating}\n") From 543fa9734b1bfd53cf0a736b4a5f138eda05ecb0 Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Mon, 28 Mar 2022 19:30:25 -0400 Subject: [PATCH 11/12] fix for missing date printing --- movie-check/movie_check.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/movie-check/movie_check.py b/movie-check/movie_check.py index 26ea96e..604ee7b 100644 --- a/movie-check/movie_check.py +++ b/movie-check/movie_check.py @@ -57,12 +57,13 @@ def tmdb_lookup(tmdb_url, tmdb_headers, movie, args): if movie_release_check: movie_release = datetime.strptime( tmdb_search['results'][0]['release_date'], "%Y-%m-%d") + movie_year = movie_release.year else: - movie_release = "???" + movie_year = "???" movie_rating = tmdb_search['results'][0]['vote_average'] - return movie_id, movie_title, movie_release, movie_rating + return movie_id, movie_title, movie_year, movie_rating def sa_lookup(sa_url, sa_headers, movie_id): @@ -76,7 +77,7 @@ def sa_lookup(sa_url, sa_headers, movie_id): params=sa_params) if sa_request.status_code == 404: - print("I'm having trouble finding that movie. " + + print("I'm having trouble finding that movie on streaming. " + "Check your spelling and try again.") exit() @@ -114,7 +115,7 @@ def main(): movie_id, movie_title, movie_release, movie_rating = tmdb_lookup( tmdb_url, tmdb_headers, movie, args) - print(movie_title + f" ({movie_release.year})") + print(f"\n{movie_title} ({movie_release})") print(f"Rating: {movie_rating}\n") sa_response, services = sa_lookup(sa_url, sa_headers, movie_id) From 6a9aed30d1f3a43244b8c4e6215ccf26a14dbfb4 Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Mon, 28 Mar 2022 19:36:08 -0400 Subject: [PATCH 12/12] add tmdb link to result --- movie-check/movie_check.py | 1 + 1 file changed, 1 insertion(+) diff --git a/movie-check/movie_check.py b/movie-check/movie_check.py index 604ee7b..4d66ef5 100644 --- a/movie-check/movie_check.py +++ b/movie-check/movie_check.py @@ -116,6 +116,7 @@ def main(): tmdb_url, tmdb_headers, movie, args) print(f"\n{movie_title} ({movie_release})") + print(f"https://themoviedb.org/movie/{movie_id}") print(f"Rating: {movie_rating}\n") sa_response, services = sa_lookup(sa_url, sa_headers, movie_id)