mirror of
https://github.com/skoobasteeve/useful-scripts.git
synced 2026-03-20 07:28:57 +00:00
variable shuffle, remove urllib
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
import urllib
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import os
|
import os
|
||||||
import argparse
|
import argparse
|
||||||
@@ -25,16 +24,30 @@ sa_headers = {
|
|||||||
|
|
||||||
|
|
||||||
def get_args():
|
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')
|
parser.add_argument('--year', type=int, help='Specify movie release year')
|
||||||
return parser.parse_args()
|
return parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
def tmdb_lookup(tmdb_url, tmdb_headers, tmdb_params):
|
def tmdb_lookup(tmdb_url, tmdb_headers, movie, args):
|
||||||
tmdb_search = requests.get(f"{tmdb_url}/search/movie", params=tmdb_params, headers=tmdb_headers).json()
|
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"]:
|
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()
|
exit()
|
||||||
|
|
||||||
movie_id = tmdb_search['results'][0]['id']
|
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']
|
movie_release_check = tmdb_search['results'][0]['release_date']
|
||||||
|
|
||||||
if movie_release_check:
|
if movie_release_check:
|
||||||
movie_release = datetime.strptime(tmdb_search['results'][0]['release_date'], "%Y-%m-%d")
|
movie_release = datetime.strptime(
|
||||||
else: movie_release = "???"
|
tmdb_search['results'][0]['release_date'], "%Y-%m-%d")
|
||||||
|
else:
|
||||||
|
movie_release = "???"
|
||||||
|
|
||||||
movie_rating = tmdb_search['results'][0]['vote_average']
|
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):
|
def sa_lookup(sa_url, sa_headers, movie_id):
|
||||||
sa_querystring = {"country":"us","tmdb_id":f"movie/{movie_id}","output_language":"en"}
|
sa_params = {
|
||||||
sa_request = requests.request("GET", sa_url, headers=sa_headers, params=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_params)
|
||||||
|
|
||||||
if sa_request.status_code == 404:
|
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()
|
exit()
|
||||||
|
|
||||||
sa_response = sa_request.json()
|
sa_response = sa_request.json()
|
||||||
@@ -89,19 +110,8 @@ def main():
|
|||||||
|
|
||||||
args = get_args()
|
args = get_args()
|
||||||
movie = input("Enter a movie: ")
|
movie = input("Enter a movie: ")
|
||||||
movie_safe = urllib.parse.quote_plus(movie)
|
|
||||||
|
|
||||||
tmdb_params = {
|
movie_id, movie_title, movie_release, movie_rating = tmdb_lookup(tmdb_url, tmdb_headers, movie, args)
|
||||||
"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(movie_title + f" ({movie_release.year})")
|
||||||
print(f"Rating: {movie_rating}\n")
|
print(f"Rating: {movie_rating}\n")
|
||||||
@@ -113,7 +123,8 @@ def main():
|
|||||||
|
|
||||||
for s in services:
|
for s in services:
|
||||||
leaving_epoch = sa_response["streamingInfo"][s]["us"]["leaving"]
|
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"]
|
link = sa_response["streamingInfo"][s]["us"]["link"]
|
||||||
|
|
||||||
print(f"Available on {services_speller(s)}")
|
print(f"Available on {services_speller(s)}")
|
||||||
@@ -123,5 +134,6 @@ def main():
|
|||||||
|
|
||||||
print(f"Watch here: {link}\n")
|
print(f"Watch here: {link}\n")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
Reference in New Issue
Block a user