|
from FileStream.TMDB.__init__ import tmdb,search,movie,tv |
|
import urllib3 |
|
from FileStream.Tools.cleanup import Get_Title_Year |
|
|
|
|
|
def get_tvshows(tv_show_id): |
|
return tv.details(tv_show_id).__dict__ |
|
|
|
def search_tmdb_movies(name): |
|
|
|
title, year = Get_Title_Year(name) |
|
print("*", title, year,"\n Name :", name ) |
|
if title is None : |
|
return None |
|
search_results = search.multi(title) |
|
|
|
try: |
|
for result in search_results: |
|
if not isinstance(result, dict): |
|
result = dict(result) |
|
|
|
if result.get("media_type") == "movie": |
|
release_date= result.get("release_date") or result.get("first_air_date") |
|
if release_date and int(release_date.split('-')[0]) == year: |
|
print("\n * TMDB response" ,result, type(result)) |
|
return dict(result) |
|
|
|
except Exception as e : |
|
print("* Error at Endpoint", e, result) |
|
return None |
|
|
|
return None |
|
|
|
def search_tmdb_tv(name): |
|
|
|
title, year = Get_Title_Year(name) |
|
|
|
if title is None : |
|
return None |
|
search_results = search.multi(title) |
|
|
|
try: |
|
for result in search_results: |
|
if not isinstance(result, dict): |
|
result = dict(result) |
|
if result.media_type == "tv": |
|
release_date= result.get("release_date") or result.get("first_air_date") |
|
if release_date and int(release_date.split('-')[0]) == year: |
|
return get_tvshows( result.get("id") ) |
|
except Exception as e : |
|
print("* Error at Endpoint", e, result) |
|
return None |
|
return None |
|
|
|
def search_tmdb_any(name): |
|
|
|
title, year = Get_Title_Year(name) |
|
|
|
if title is None : |
|
return None |
|
search_results = search.multi(title) |
|
|
|
try: |
|
for result in search_results: |
|
|
|
|
|
|
|
|
|
if result.media_type == "tv": |
|
release_date=result.release_date or result.first_air_date or result.get("release_date") or result.get("first_air_date") |
|
if release_date and int(release_date.split('-')[0]) == year: |
|
return get_tvshows( result.id or result.get("id") ) |
|
|
|
if result.media_type == "movie": |
|
release_date=result.release_date or result.get("release_date") or result.get("first_air_date") |
|
if release_date and int(release_date.split('-')[0]) == year: |
|
return result |
|
|
|
except Exception as e : |
|
print("* Error at Endpoint", e, result) |
|
return None |
|
|
|
return None |