Spaces:
Running
Running
| 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): | |
| # Search for the title in TMDb | |
| title, year = Get_Title_Year(name) | |
| print("*", title, year,"\n Name :", name ) | |
| if title is None : | |
| return None | |
| search_results = search.multi(title) | |
| # Filter results by year | |
| 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): | |
| # Search for the title in TMDb | |
| title, year = Get_Title_Year(name) | |
| #print("*", title, year,"\n Name :", name) | |
| if title is None : | |
| return None | |
| search_results = search.multi(title) | |
| # Filter results by year | |
| 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): | |
| # Search for the title in TMDb | |
| title, year = Get_Title_Year(name) | |
| #print("*", title, year,"\n Name :", name) | |
| if title is None : | |
| return None | |
| search_results = search.multi(title) | |
| # Filter results by year | |
| try: | |
| for result in search_results: | |
| #if not isinstance(result, dict): | |
| #print(result) | |
| #result = result | |
| #release_date = result.release_date if result.release_date else result.first_air_date | |
| 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 |