mirror of
https://github.com/skoobasteeve/useful-scripts.git
synced 2026-03-20 07:28:57 +00:00
Error handling and spelling correction
This commit is contained in:
@@ -4,6 +4,7 @@ import requests
|
|||||||
import urllib
|
import urllib
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
tmdb_api_token = os.environ.get("TMDB_API_TOKEN")
|
tmdb_api_token = os.environ.get("TMDB_API_TOKEN")
|
||||||
sa_api_token = os.environ.get("SA_API_TOKEN")
|
sa_api_token = os.environ.get("SA_API_TOKEN")
|
||||||
@@ -21,10 +22,15 @@ sa_headers = {
|
|||||||
'x-rapidapi-key': sa_api_token
|
'x-rapidapi-key': sa_api_token
|
||||||
}
|
}
|
||||||
|
|
||||||
movie = "12 angry men"
|
movie = "finch"
|
||||||
movie_safe = urllib.parse.quote_plus(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()
|
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_id = tmdb_search['results'][0]['id']
|
||||||
movie_tile = tmdb_search['results'][0]['title']
|
movie_tile = tmdb_search['results'][0]['title']
|
||||||
movie_release = datetime.strptime(tmdb_search['results'][0]['release_date'], "%Y-%m-%d")
|
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"]
|
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})")
|
print(movie_tile + f" ({movie_release.year})")
|
||||||
|
if not services:
|
||||||
|
print("Movie not available for streaming :(")
|
||||||
for s in services:
|
for s in services:
|
||||||
countries = sa_response["streamingInfo"][s]
|
countries = sa_response["streamingInfo"][s]
|
||||||
for c in countries:
|
for c in countries:
|
||||||
leaving_epoch = sa_response["streamingInfo"][s][c]["leaving"]
|
leaving_epoch = sa_response["streamingInfo"][s][c]["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][c]["link"]
|
link = sa_response["streamingInfo"][s][c]["link"]
|
||||||
print(f"Available on {s}")
|
print(f"Available on {services_speller(s)}")
|
||||||
if leaving_epoch != 0:
|
if leaving_epoch != 0:
|
||||||
print(f"Will be leaving {s} on {leaving_date}")
|
print(f"Will be leaving {s} on {leaving_date}")
|
||||||
print(f"Watch here: {link}")
|
print(f"Watch here: {link}")
|
||||||
Reference in New Issue
Block a user