254 lines
8.8 KiB
Python
254 lines
8.8 KiB
Python
from Src.Utilities.loadenv import load_env
|
|
from tmdbv3api import TMDb, Movie, TV
|
|
from Src.Utilities.convert_date import convert_US_date, convert_IT_date
|
|
import Src.Utilities.config as config
|
|
import json
|
|
env_vars = load_env()
|
|
TMDB_KEY = env_vars.get('TMDB_KEY')
|
|
|
|
|
|
def get_info_tmdb(tmbda,ismovie,type):
|
|
tmdb = TMDb()
|
|
tmdb.api_key = f'{TMDB_KEY}'
|
|
tmdb.language = 'it'
|
|
if ismovie == 0:
|
|
tv = TV()
|
|
show= tv.details(tmbda)
|
|
showname = show.name
|
|
if type == "Filmpertutti":
|
|
return showname
|
|
elif type == "StreamingCommunity":
|
|
full_date = show.first_air_date
|
|
date = full_date.split("-")[0]
|
|
return showname,date
|
|
elif type == "StreamingCommunityFS":
|
|
return showname
|
|
elif type == "Tantifilm":
|
|
date = show.first_air_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "TantifilmFS":
|
|
return showname
|
|
elif type == "Cool":
|
|
return showname
|
|
elif type == "LordChannel":
|
|
date = show.first_air_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "StreamingWatch":
|
|
date = show.first_air_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "DDLStream":
|
|
return showname
|
|
elif type == "Cb01":
|
|
date = show.first_air_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Whvx":
|
|
date = show.first_air_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Guardaserie":
|
|
date = show.first_air_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Eurostreaming":
|
|
date = show.first_air_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Guardoserie":
|
|
date = show.first_air_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == 'Realtime':
|
|
date = show.first_air_date
|
|
return showname,date
|
|
elif type == 'Toonitalia':
|
|
date = show.first_air_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
|
|
elif ismovie == 1:
|
|
movie = Movie()
|
|
show= movie.details(tmbda)
|
|
showname= show.title
|
|
#Get all release dates
|
|
if type == "Filmpertutti":
|
|
return showname
|
|
elif type == "StreamingCommunity":
|
|
date = show.release_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "StreamingCommunityFS":
|
|
return showname
|
|
elif type == "Tantifilm":
|
|
date = show.release_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "TantifilmFS":
|
|
return showname
|
|
elif type == "Cool":
|
|
return showname
|
|
elif type == "LordChannel":
|
|
date = show.release_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "StreamingWatch":
|
|
date = show.release_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "DDLStream":
|
|
return showname
|
|
elif type == "Cb01":
|
|
date = show.release_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Whvx":
|
|
date = show.release_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Guardoserie":
|
|
date = show.release_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == 'Guardaflix':
|
|
date = show.release_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == 'Realtime':
|
|
date = show.release_date
|
|
return showname,date
|
|
elif type == "Toonitalia":
|
|
date = show.release_date
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
async def get_info_imdb(imdb_id, ismovie, type,client):
|
|
resp = await client.get(f'https://api.themoviedb.org/3/find/{imdb_id}?api_key={TMDB_KEY}&language=it&external_source=imdb_id')
|
|
data = resp.json()
|
|
if ismovie == 0:
|
|
showname = data['tv_results'][0]['name']
|
|
if type == "Filmpertutti":
|
|
return showname
|
|
elif type == "StreamingCommunity":
|
|
date = data['tv_results'][0]['first_air_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "StreamingCommunityFS":
|
|
return showname
|
|
elif type == "Tantifilm":
|
|
date = data['tv_results'][0]['first_air_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "TantifilmFS":
|
|
return showname
|
|
elif type == "Cool":
|
|
return showname
|
|
elif type == "DDLStream":
|
|
return showname
|
|
elif type == "Cb01":
|
|
date = data['tv_results'][0]['first_air_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Whvx":
|
|
date = data['tv_results'][0]['first_air_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Onlineserietv":
|
|
date = data['tv_results'][0]['first_air_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Guardaserie":
|
|
date = data['tv_results'][0]['first_air_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Eurostreaming":
|
|
date = data['tv_results'][0]['first_air_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Guardoserie":
|
|
date = data['tv_results'][0]['first_air_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == 'Realtime':
|
|
return showname,data['tv_results'][0]['first_air_date']
|
|
elif type == "Toonitalia":
|
|
date = data['tv_results'][0]['first_air_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
|
|
elif ismovie == 1:
|
|
showname= data['movie_results'][0]['title']
|
|
if type == "Filmpertutti":
|
|
return showname
|
|
elif type == "StreamingCommunity":
|
|
date = data['movie_results'][0]['release_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "StreamingCommunityFS":
|
|
return showname
|
|
elif type == "Tantifilm":
|
|
date = data['movie_results'][0]['release_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Cool":
|
|
return showname
|
|
elif type == "DDLStream":
|
|
return showname
|
|
elif type == "Cb01":
|
|
date = data['movie_results'][0]['release_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Whvx":
|
|
date = data['movie_results'][0]['release_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Onlineserietv":
|
|
date = data['movie_results'][0]['release_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == "Guardoserie":
|
|
date = data['movie_results'][0]['release_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == 'Guardaflix':
|
|
date = data['movie_results'][0]['release_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
elif type == 'Realtime':
|
|
date = data['movie_results'][0]['release_date']
|
|
return showname,date
|
|
elif type == 'Toonitalia':
|
|
date = data['movie_results'][0]['release_date']
|
|
date = date.split("-")[0]
|
|
return showname,date
|
|
|
|
|
|
|
|
async def get_info_kitsu(kitsu_id,client):
|
|
api_url = f'https://kitsu.io/api/edge/anime/{kitsu_id}'
|
|
response = await client.get(api_url)
|
|
data = json.loads(response.text)
|
|
try:
|
|
showname = data['data']['attributes']['titles']['en']
|
|
except Exception as e:
|
|
showname = data['data']['attributes']['canonicalTitle']
|
|
date = data['data']['attributes']['startDate']
|
|
return showname,date
|
|
|
|
|
|
|
|
|
|
async def is_movie(imdb_id):
|
|
if "tmdb:" in imdb_id:
|
|
imdb_id = imdb_id.replace("tmdb:","")
|
|
if ":" in imdb_id:
|
|
season = imdb_id.split(":")[1]
|
|
episode = imdb_id.split(":")[-1]
|
|
ismovie = 0
|
|
imdb_id = imdb_id.split(":")[0]
|
|
return ismovie,imdb_id,season,episode
|
|
else:
|
|
ismovie = 1
|
|
return ismovie,imdb_id
|