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