From c059c03af697e83c9970627eb69678671f8aba2a Mon Sep 17 00:00:00 2001 From: jurialmunkey Date: Thu, 9 Nov 2023 13:03:35 +1100 Subject: [PATCH] :zap: Use attributes to cache imports for instance --- resources/tmdbhelper/lib/api/tmdb/content.py | 236 +++++-- resources/tmdbhelper/lib/api/trakt/content.py | 588 +++++++++++++----- 2 files changed, 604 insertions(+), 220 deletions(-) diff --git a/resources/tmdbhelper/lib/api/tmdb/content.py b/resources/tmdbhelper/lib/api/tmdb/content.py index 64092a9f..02f0a9ba 100644 --- a/resources/tmdbhelper/lib/api/tmdb/content.py +++ b/resources/tmdbhelper/lib/api/tmdb/content.py @@ -5,117 +5,221 @@ class TMDbMethods(): """ def get_genres(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_genres - return get_genres(self, *args, **kwargs) - - @staticmethod - def get_tmdb_multisearch_validfy(*args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_multisearch_validfy - return get_tmdb_multisearch_validfy(*args, **kwargs) + try: + return self._get_genres(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_genres + self._get_genres = get_genres + return self._get_genres(self, *args, **kwargs) + + def get_tmdb_multisearch_validfy(self, *args, **kwargs): + try: + return self._get_tmdb_multisearch_validfy(*args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_multisearch_validfy + self._get_tmdb_multisearch_validfy = get_tmdb_multisearch_validfy + return self._get_tmdb_multisearch_validfy(*args, **kwargs) def get_tmdb_multisearch_request(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_multisearch_request - return get_tmdb_multisearch_request(self, *args, **kwargs) + try: + return self._get_tmdb_multisearch_request(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_multisearch_request + self._get_tmdb_multisearch_request = get_tmdb_multisearch_request + return self._get_tmdb_multisearch_request(self, *args, **kwargs) def get_tmdb_multisearch(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_multisearch - return get_tmdb_multisearch(self, *args, **kwargs) + try: + return self._get_tmdb_multisearch(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_multisearch + self._get_tmdb_multisearch = get_tmdb_multisearch + return self._get_tmdb_multisearch(self, *args, **kwargs) def get_tmdb_id(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_id - return get_tmdb_id(self, *args, **kwargs) + try: + return self._get_tmdb_id(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_id + self._get_tmdb_id = get_tmdb_id + return self._get_tmdb_id(self, *args, **kwargs) def get_tmdb_id_request(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_id_request - return get_tmdb_id_request(self, *args, **kwargs) + try: + return self._get_tmdb_id_request(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_id_request + self._get_tmdb_id_request = get_tmdb_id_request + return self._get_tmdb_id_request(self, *args, **kwargs) def get_tmdb_id_from_query(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_id_from_query - return get_tmdb_id_from_query(self, *args, **kwargs) + try: + return self._get_tmdb_id_from_query(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_id_from_query + self._get_tmdb_id_from_query = get_tmdb_id_from_query + return self._get_tmdb_id_from_query(self, *args, **kwargs) def get_collection_tmdb_id(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_collection_tmdb_id - return get_collection_tmdb_id(self, *args, **kwargs) + try: + return self._get_collection_tmdb_id(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_collection_tmdb_id + self._get_collection_tmdb_id = get_collection_tmdb_id + return self._get_collection_tmdb_id(self, *args, **kwargs) def get_tmdb_id_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_id_list - return get_tmdb_id_list(self, *args, **kwargs) + try: + return self._get_tmdb_id_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_tmdb_id_list + self._get_tmdb_id_list = get_tmdb_id_list + return self._get_tmdb_id_list(self, *args, **kwargs) def get_tvshow_nextaired(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_tvshow_nextaired - return get_tvshow_nextaired(self, *args, **kwargs) + try: + return self._get_tvshow_nextaired(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_tvshow_nextaired + self._get_tvshow_nextaired = get_tvshow_nextaired + return self._get_tvshow_nextaired(self, *args, **kwargs) def get_details_request(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_details_request - return get_details_request(self, *args, **kwargs) + try: + return self._get_details_request(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_details_request + self._get_details_request = get_details_request + return self._get_details_request(self, *args, **kwargs) def get_details(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_details - return get_details(self, *args, **kwargs) + try: + return self._get_details(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_details + self._get_details = get_details + return self._get_details(self, *args, **kwargs) def get_next_episode(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.details import get_next_episode - return get_next_episode(self, *args, **kwargs) + try: + return self._get_next_episode(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.details import get_next_episode + self._get_next_episode = get_next_episode + return self._get_next_episode(self, *args, **kwargs) """ TMDb LIST METHODS """ def get_flatseasons_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_flatseasons_list - return get_flatseasons_list(self, *args, **kwargs) + try: + return self._get_flatseasons_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_flatseasons_list + self._get_flatseasons_list = get_flatseasons_list + return self._get_flatseasons_list(self, *args, **kwargs) def get_episode_group_episodes_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_episode_group_episodes_list - return get_episode_group_episodes_list(self, *args, **kwargs) + try: + return self._get_episode_group_episodes_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_episode_group_episodes_list + self._get_episode_group_episodes_list = get_episode_group_episodes_list + return self._get_episode_group_episodes_list(self, *args, **kwargs) def get_episode_group_seasons_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_episode_group_seasons_list - return get_episode_group_seasons_list(self, *args, **kwargs) + try: + return self._get_episode_group_seasons_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_episode_group_seasons_list + self._get_episode_group_seasons_list = get_episode_group_seasons_list + return self._get_episode_group_seasons_list(self, *args, **kwargs) def get_episode_groups_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_episode_groups_list - return get_episode_groups_list(self, *args, **kwargs) + try: + return self._get_episode_groups_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_episode_groups_list + self._get_episode_groups_list = get_episode_groups_list + return self._get_episode_groups_list(self, *args, **kwargs) def get_videos_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_videos_list - return get_videos_list(self, *args, **kwargs) + try: + return self._get_videos_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_videos_list + self._get_videos_list = get_videos_list + return self._get_videos_list(self, *args, **kwargs) def get_season_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_season_list - return get_season_list(self, *args, **kwargs) + try: + return self._get_season_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_season_list + self._get_season_list = get_season_list + return self._get_season_list(self, *args, **kwargs) def get_episode_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_episode_list - return get_episode_list(self, *args, **kwargs) + try: + return self._get_episode_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_episode_list + self._get_episode_list = get_episode_list + return self._get_episode_list(self, *args, **kwargs) def get_cast_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_cast_list - return get_cast_list(self, *args, **kwargs) - - @staticmethod - def get_downloaded_list(*args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_downloaded_list - return get_downloaded_list(*args, **kwargs) - - @staticmethod - def get_daily_list(*args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_daily_list - return get_daily_list(*args, **kwargs) - - @staticmethod - def get_all_items_list(*args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_all_items_list - return get_all_items_list(*args, **kwargs) + try: + return self._get_cast_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_cast_list + self._get_cast_list = get_cast_list + return self._get_cast_list(self, *args, **kwargs) + + def get_downloaded_list(self, *args, **kwargs): + try: + return self._get_downloaded_list(*args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_downloaded_list + self._get_downloaded_list = get_downloaded_list + return self._get_downloaded_list(*args, **kwargs) + + def get_daily_list(self, *args, **kwargs): + try: + return self._get_daily_list(*args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_daily_list + self._get_daily_list = get_daily_list + return self._get_daily_list(*args, **kwargs) + + def get_all_items_list(self, *args, **kwargs): + try: + return self._get_all_items_list(*args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_all_items_list + self._get_all_items_list = get_all_items_list + return self._get_all_items_list(*args, **kwargs) def get_search_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_search_list - return get_search_list(self, *args, **kwargs) + try: + return self._get_search_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_search_list + self._get_search_list = get_search_list + return self._get_search_list(self, *args, **kwargs) def get_basic_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_basic_list - return get_basic_list(self, *args, **kwargs) + try: + return self._get_basic_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_basic_list + self._get_basic_list = get_basic_list + return self._get_basic_list(self, *args, **kwargs) def get_discover_list(self, *args, **kwargs): - from tmdbhelper.lib.api.tmdb.methods.lists import get_discover_list - return get_discover_list(self, *args, **kwargs) + try: + return self._get_discover_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.tmdb.methods.lists import get_discover_list + self._get_discover_list = get_discover_list + return self._get_discover_list(self, *args, **kwargs) diff --git a/resources/tmdbhelper/lib/api/trakt/content.py b/resources/tmdbhelper/lib/api/trakt/content.py index b0a65c9b..5013100c 100644 --- a/resources/tmdbhelper/lib/api/trakt/content.py +++ b/resources/tmdbhelper/lib/api/trakt/content.py @@ -5,305 +5,585 @@ class TraktMethods(): """ def get_sorted_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import get_sorted_list - return get_sorted_list(self, *args, **kwargs) + try: + return self._get_sorted_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import get_sorted_list + self._get_sorted_list = get_sorted_list + return self._get_sorted_list(self, *args, **kwargs) def get_simple_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import get_simple_list - return get_simple_list(self, *args, **kwargs) + try: + return self._get_simple_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import get_simple_list + self._get_simple_list = get_simple_list + return self._get_simple_list(self, *args, **kwargs) def get_mixed_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import get_mixed_list - return get_mixed_list(self, *args, **kwargs) + try: + return self._get_mixed_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import get_mixed_list + self._get_mixed_list = get_mixed_list + return self._get_mixed_list(self, *args, **kwargs) def get_basic_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import get_basic_list - return get_basic_list(self, *args, **kwargs) + try: + return self._get_basic_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import get_basic_list + self._get_basic_list = get_basic_list + return self._get_basic_list(self, *args, **kwargs) def get_stacked_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import get_stacked_list - return get_stacked_list(self, *args, **kwargs) + try: + return self._get_stacked_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import get_stacked_list + self._get_stacked_list = get_stacked_list + return self._get_stacked_list(self, *args, **kwargs) def get_custom_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import get_custom_list - return get_custom_list(self, *args, **kwargs) + try: + return self._get_custom_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import get_custom_list + self._get_custom_list = get_custom_list + return self._get_custom_list(self, *args, **kwargs) def get_list_of_genres(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import get_list_of_genres - return get_list_of_genres(self, *args, **kwargs) + try: + return self._get_list_of_genres(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import get_list_of_genres + self._get_list_of_genres = get_list_of_genres + return self._get_list_of_genres(self, *args, **kwargs) def get_list_of_lists(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import get_list_of_lists - return get_list_of_lists(self, *args, **kwargs) + try: + return self._get_list_of_lists(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import get_list_of_lists + self._get_list_of_lists = get_list_of_lists + return self._get_list_of_lists(self, *args, **kwargs) def get_sync_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import get_sync_list - return get_sync_list(self, *args, **kwargs) + try: + return self._get_sync_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import get_sync_list + self._get_sync_list = get_sync_list + return self._get_sync_list(self, *args, **kwargs) def merge_sync_sort(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import merge_sync_sort - return merge_sync_sort(self, *args, **kwargs) + try: + return self._merge_sync_sort(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import merge_sync_sort + self._merge_sync_sort = merge_sync_sort + return self._merge_sync_sort(self, *args, **kwargs) def filter_inprogress(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import filter_inprogress - return filter_inprogress(self, *args, **kwargs) + try: + return self._filter_inprogress(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import filter_inprogress + self._filter_inprogress = filter_inprogress + return self._filter_inprogress(self, *args, **kwargs) def get_imdb_top250(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.lists import get_imdb_top250 - return get_imdb_top250(self, *args, **kwargs) + try: + return self._get_imdb_top250(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.lists import get_imdb_top250 + self._get_imdb_top250 = get_imdb_top250 + return self._get_imdb_top250(self, *args, **kwargs) """ TRAKT DETAILS METHODS """ def get_details(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.details import get_details - return get_details(self, *args, **kwargs) + try: + return self._get_details(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.details import get_details + self._get_details = get_details + return self._get_details(self, *args, **kwargs) def get_id(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.details import get_id - return get_id(self, *args, **kwargs) + try: + return self._get_id(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.details import get_id + self._get_id = get_id + return self._get_id(self, *args, **kwargs) def get_id_search(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.details import get_id_search - return get_id_search(self, *args, **kwargs) + try: + return self._get_id_search(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.details import get_id_search + self._get_id_search = get_id_search + return self._get_id_search(self, *args, **kwargs) def get_showitem_details(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.details import get_showitem_details - return get_showitem_details(self, *args, **kwargs) + try: + return self._get_showitem_details(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.details import get_showitem_details + self._get_showitem_details = get_showitem_details + return self._get_showitem_details(self, *args, **kwargs) def get_ratings(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.details import get_ratings - return get_ratings(self, *args, **kwargs) + try: + return self._get_ratings(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.details import get_ratings + self._get_ratings = get_ratings + return self._get_ratings(self, *args, **kwargs) """ TRAKT SYNC METHODS """ def get_sync_item(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_item - return get_sync_item(self, *args, **kwargs) + try: + return self._get_sync_item(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_item + self._get_sync_item = get_sync_item + return self._get_sync_item(self, *args, **kwargs) def add_list_item(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import add_list_item - return add_list_item(self, *args, **kwargs) + try: + return self._add_list_item(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import add_list_item + self._add_list_item = add_list_item + return self._add_list_item(self, *args, **kwargs) def like_userlist(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import like_userlist - return like_userlist(self, *args, **kwargs) + try: + return self._like_userlist(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import like_userlist + self._like_userlist = like_userlist + return self._like_userlist(self, *args, **kwargs) def sync_item(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import sync_item - return sync_item(self, *args, **kwargs) + try: + return self._sync_item(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import sync_item + self._sync_item = sync_item + return self._sync_item(self, *args, **kwargs) def get_last_activity(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_last_activity - return get_last_activity(self, *args, **kwargs) + try: + return self._get_last_activity(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_last_activity + self._get_last_activity = get_last_activity + return self._get_last_activity(self, *args, **kwargs) def get_sync_response(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_response - return get_sync_response(self, *args, **kwargs) + try: + return self._get_sync_response(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_response + self._get_sync_response = get_sync_response + return self._get_sync_response(self, *args, **kwargs) def get_sync_configured(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_configured - return get_sync_configured(self, *args, **kwargs) + try: + return self._get_sync_configured(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_configured + self._get_sync_configured = get_sync_configured + return self._get_sync_configured(self, *args, **kwargs) def is_sync(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import is_sync - return is_sync(self, *args, **kwargs) + try: + return self._is_sync(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import is_sync + self._is_sync = is_sync + return self._is_sync(self, *args, **kwargs) def get_sync_watched_movies(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watched_movies - return get_sync_watched_movies(self, *args, **kwargs) + try: + return self._get_sync_watched_movies(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watched_movies + self._get_sync_watched_movies = get_sync_watched_movies + return self._get_sync_watched_movies(self, *args, **kwargs) def get_sync_watched_shows(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watched_shows - return get_sync_watched_shows(self, *args, **kwargs) + try: + return self._get_sync_watched_shows(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watched_shows + self._get_sync_watched_shows = get_sync_watched_shows + return self._get_sync_watched_shows(self, *args, **kwargs) def get_sync_collection_movies(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_collection_movies - return get_sync_collection_movies(self, *args, **kwargs) + try: + return self._get_sync_collection_movies(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_collection_movies + self._get_sync_collection_movies = get_sync_collection_movies + return self._get_sync_collection_movies(self, *args, **kwargs) def get_sync_collection_shows(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_collection_shows - return get_sync_collection_shows(self, *args, **kwargs) + try: + return self._get_sync_collection_shows(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_collection_shows + self._get_sync_collection_shows = get_sync_collection_shows + return self._get_sync_collection_shows(self, *args, **kwargs) def get_sync_playback_movies(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_playback_movies - return get_sync_playback_movies(self, *args, **kwargs) + try: + return self._get_sync_playback_movies(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_playback_movies + self._get_sync_playback_movies = get_sync_playback_movies + return self._get_sync_playback_movies(self, *args, **kwargs) def get_sync_playback_shows(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_playback_shows - return get_sync_playback_shows(self, *args, **kwargs) + try: + return self._get_sync_playback_shows(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_playback_shows + self._get_sync_playback_shows = get_sync_playback_shows + return self._get_sync_playback_shows(self, *args, **kwargs) def get_sync_watchlist_movies(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watchlist_movies - return get_sync_watchlist_movies(self, *args, **kwargs) + try: + return self._get_sync_watchlist_movies(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watchlist_movies + self._get_sync_watchlist_movies = get_sync_watchlist_movies + return self._get_sync_watchlist_movies(self, *args, **kwargs) def get_sync_watchlist_shows(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watchlist_shows - return get_sync_watchlist_shows(self, *args, **kwargs) + try: + return self._get_sync_watchlist_shows(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watchlist_shows + self._get_sync_watchlist_shows = get_sync_watchlist_shows + return self._get_sync_watchlist_shows(self, *args, **kwargs) def get_sync_watchlist_seasons(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watchlist_seasons - return get_sync_watchlist_seasons(self, *args, **kwargs) + try: + return self._get_sync_watchlist_seasons(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watchlist_seasons + self._get_sync_watchlist_seasons = get_sync_watchlist_seasons + return self._get_sync_watchlist_seasons(self, *args, **kwargs) def get_sync_watchlist_episodes(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watchlist_episodes - return get_sync_watchlist_episodes(self, *args, **kwargs) + try: + return self._get_sync_watchlist_episodes(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_watchlist_episodes + self._get_sync_watchlist_episodes = get_sync_watchlist_episodes + return self._get_sync_watchlist_episodes(self, *args, **kwargs) def get_sync_favorites_movies(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_favorites_movies - return get_sync_favorites_movies(self, *args, **kwargs) + try: + return self._get_sync_favorites_movies(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_favorites_movies + self._get_sync_favorites_movies = get_sync_favorites_movies + return self._get_sync_favorites_movies(self, *args, **kwargs) def get_sync_favorites_shows(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_favorites_shows - return get_sync_favorites_shows(self, *args, **kwargs) + try: + return self._get_sync_favorites_shows(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_favorites_shows + self._get_sync_favorites_shows = get_sync_favorites_shows + return self._get_sync_favorites_shows(self, *args, **kwargs) def get_sync_ratings_movies(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_ratings_movies - return get_sync_ratings_movies(self, *args, **kwargs) + try: + return self._get_sync_ratings_movies(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_ratings_movies + self._get_sync_ratings_movies = get_sync_ratings_movies + return self._get_sync_ratings_movies(self, *args, **kwargs) def get_sync_ratings_shows(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_ratings_shows - return get_sync_ratings_shows(self, *args, **kwargs) + try: + return self._get_sync_ratings_shows(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_ratings_shows + self._get_sync_ratings_shows = get_sync_ratings_shows + return self._get_sync_ratings_shows(self, *args, **kwargs) def get_sync_ratings_seasons(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_ratings_seasons - return get_sync_ratings_seasons(self, *args, **kwargs) + try: + return self._get_sync_ratings_seasons(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_ratings_seasons + self._get_sync_ratings_seasons = get_sync_ratings_seasons + return self._get_sync_ratings_seasons(self, *args, **kwargs) def get_sync_ratings_episodes(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync_ratings_episodes - return get_sync_ratings_episodes(self, *args, **kwargs) + try: + return self._get_sync_ratings_episodes(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync_ratings_episodes + self._get_sync_ratings_episodes = get_sync_ratings_episodes + return self._get_sync_ratings_episodes(self, *args, **kwargs) def get_sync(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.sync import get_sync - return get_sync(self, *args, **kwargs) + try: + return self._get_sync(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.sync import get_sync + self._get_sync = get_sync + return self._get_sync(self, *args, **kwargs) """ TRAKT PROGRESS METHODS """ def get_ondeck_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_ondeck_list - return get_ondeck_list(self, *args, **kwargs) + try: + return self._get_ondeck_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_ondeck_list + self._get_ondeck_list = get_ondeck_list + return self._get_ondeck_list(self, *args, **kwargs) def get_towatch_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_towatch_list - return get_towatch_list(self, *args, **kwargs) + try: + return self._get_towatch_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_towatch_list + self._get_towatch_list = get_towatch_list + return self._get_towatch_list(self, *args, **kwargs) def get_inprogress_items(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_inprogress_items - return get_inprogress_items(self, *args, **kwargs) + try: + return self._get_inprogress_items(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_inprogress_items + self._get_inprogress_items = get_inprogress_items + return self._get_inprogress_items(self, *args, **kwargs) def get_inprogress_shows_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_inprogress_shows_list - return get_inprogress_shows_list(self, *args, **kwargs) + try: + return self._get_inprogress_shows_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_inprogress_shows_list + self._get_inprogress_shows_list = get_inprogress_shows_list + return self._get_inprogress_shows_list(self, *args, **kwargs) def get_inprogress_shows(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_inprogress_shows - return get_inprogress_shows(self, *args, **kwargs) + try: + return self._get_inprogress_shows(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_inprogress_shows + self._get_inprogress_shows = get_inprogress_shows + return self._get_inprogress_shows(self, *args, **kwargs) def is_inprogress_show(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import is_inprogress_show - return is_inprogress_show(self, *args, **kwargs) + try: + return self._is_inprogress_show(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import is_inprogress_show + self._is_inprogress_show = is_inprogress_show + return self._is_inprogress_show(self, *args, **kwargs) def get_episodes_watchcount(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_episodes_watchcount - return get_episodes_watchcount(self, *args, **kwargs) + try: + return self._get_episodes_watchcount(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_episodes_watchcount + self._get_episodes_watchcount = get_episodes_watchcount + return self._get_episodes_watchcount(self, *args, **kwargs) def get_hiddenitems(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_hiddenitems - return get_hiddenitems(self, *args, **kwargs) + try: + return self._get_hiddenitems(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_hiddenitems + self._get_hiddenitems = get_hiddenitems + return self._get_hiddenitems(self, *args, **kwargs) def get_upnext_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_upnext_list - return get_upnext_list(self, *args, **kwargs) + try: + return self._get_upnext_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_upnext_list + self._get_upnext_list = get_upnext_list + return self._get_upnext_list(self, *args, **kwargs) def get_upnext_episodes_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_upnext_episodes_list - return get_upnext_episodes_list(self, *args, **kwargs) + try: + return self._get_upnext_episodes_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_upnext_episodes_list + self._get_upnext_episodes_list = get_upnext_episodes_list + return self._get_upnext_episodes_list(self, *args, **kwargs) def get_upnext_episodes_listitems(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_upnext_episodes_listitems - return get_upnext_episodes_listitems(self, *args, **kwargs) + try: + return self._get_upnext_episodes_listitems(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_upnext_episodes_listitems + self._get_upnext_episodes_listitems = get_upnext_episodes_listitems + return self._get_upnext_episodes_listitems(self, *args, **kwargs) def get_show_progress(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_show_progress - return get_show_progress(self, *args, **kwargs) + try: + return self._get_show_progress(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_show_progress + self._get_show_progress = get_show_progress + return self._get_show_progress(self, *args, **kwargs) def get_upnext_episodes(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_upnext_episodes - return get_upnext_episodes(self, *args, **kwargs) + try: + return self._get_upnext_episodes(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_upnext_episodes + self._get_upnext_episodes = get_upnext_episodes + return self._get_upnext_episodes(self, *args, **kwargs) def get_movie_playcount(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_movie_playcount - return get_movie_playcount(self, *args, **kwargs) + try: + return self._get_movie_playcount(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_movie_playcount + self._get_movie_playcount = get_movie_playcount + return self._get_movie_playcount(self, *args, **kwargs) def get_movie_playprogress(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_movie_playprogress - return get_movie_playprogress(self, *args, **kwargs) + try: + return self._get_movie_playprogress(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_movie_playprogress + self._get_movie_playprogress = get_movie_playprogress + return self._get_movie_playprogress(self, *args, **kwargs) def get_episode_playprogress_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_episode_playprogress_list - return get_episode_playprogress_list(self, *args, **kwargs) + try: + return self._get_episode_playprogress_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_episode_playprogress_list + self._get_episode_playprogress_list = get_episode_playprogress_list + return self._get_episode_playprogress_list(self, *args, **kwargs) def get_episode_playprogress(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_episode_playprogress - return get_episode_playprogress(self, *args, **kwargs) + try: + return self._get_episode_playprogress(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_episode_playprogress + self._get_episode_playprogress = get_episode_playprogress + return self._get_episode_playprogress(self, *args, **kwargs) def get_episode_playcount(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_episode_playcount - return get_episode_playcount(self, *args, **kwargs) + try: + return self._get_episode_playcount(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_episode_playcount + self._get_episode_playcount = get_episode_playcount + return self._get_episode_playcount(self, *args, **kwargs) def get_episodes_airedcount(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_episodes_airedcount - return get_episodes_airedcount(self, *args, **kwargs) + try: + return self._get_episodes_airedcount(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_episodes_airedcount + self._get_episodes_airedcount = get_episodes_airedcount + return self._get_episodes_airedcount(self, *args, **kwargs) def get_season_episodes_airedcount(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.progress import get_season_episodes_airedcount - return get_season_episodes_airedcount(self, *args, **kwargs) + try: + return self._get_season_episodes_airedcount(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.progress import get_season_episodes_airedcount + self._get_season_episodes_airedcount = get_season_episodes_airedcount + return self._get_season_episodes_airedcount(self, *args, **kwargs) """ TRAKT CALENDAR METHODS """ def get_calendar(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar - return get_calendar(self, *args, **kwargs) + try: + return self._get_calendar(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar + self._get_calendar = get_calendar + return self._get_calendar(self, *args, **kwargs) def get_calendar_episodes(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar_episodes - return get_calendar_episodes(self, *args, **kwargs) - - @staticmethod - def get_calendar_episode_item(*args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar_episode_item - return get_calendar_episode_item(*args, **kwargs) - - @staticmethod - def get_calendar_episode_item_bool(*args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar_episode_item_bool - return get_calendar_episode_item_bool(*args, **kwargs) - - @staticmethod - def get_stacked_item(*args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.calendar import get_stacked_item - return get_stacked_item(*args, **kwargs) - - @staticmethod - def stack_calendar_episodes(*args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.calendar import stack_calendar_episodes - return stack_calendar_episodes(*args, **kwargs) + try: + return self._get_calendar_episodes(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar_episodes + self._get_calendar_episodes = get_calendar_episodes + return self._get_calendar_episodes(self, *args, **kwargs) + + def get_calendar_episode_item(self, *args, **kwargs): + try: + return self._get_calendar_episode_item(*args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar_episode_item + self._get_calendar_episode_item = get_calendar_episode_item + return self._get_calendar_episode_item(*args, **kwargs) + + def get_calendar_episode_item_bool(self, *args, **kwargs): + try: + return self._get_calendar_episode_item_bool(*args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar_episode_item_bool + self._get_calendar_episode_item_bool = get_calendar_episode_item_bool + return self._get_calendar_episode_item_bool(*args, **kwargs) + + def get_stacked_item(self, *args, **kwargs): + try: + return self._get_stacked_item(*args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.calendar import get_stacked_item + self._get_stacked_item = get_stacked_item + return self._get_stacked_item(*args, **kwargs) + + def stack_calendar_episodes(self, *args, **kwargs): + try: + return self._stack_calendar_episodes(*args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.calendar import stack_calendar_episodes + self._stack_calendar_episodes = stack_calendar_episodes + return self._stack_calendar_episodes(*args, **kwargs) def stack_calendar_tvshows(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.calendar import stack_calendar_tvshows - return stack_calendar_tvshows(self, *args, **kwargs) + try: + return self._stack_calendar_tvshows(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.calendar import stack_calendar_tvshows + self._stack_calendar_tvshows = stack_calendar_tvshows + return self._stack_calendar_tvshows(self, *args, **kwargs) def get_calendar_episodes_listitems(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar_episodes_listitems - return get_calendar_episodes_listitems(self, *args, **kwargs) + try: + return self._get_calendar_episodes_listitems(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar_episodes_listitems + self._get_calendar_episodes_listitems = get_calendar_episodes_listitems + return self._get_calendar_episodes_listitems(self, *args, **kwargs) def get_calendar_episodes_list(self, *args, **kwargs): - from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar_episodes_list - return get_calendar_episodes_list(self, *args, **kwargs) + try: + return self._get_calendar_episodes_list(self, *args, **kwargs) + except AttributeError: + from tmdbhelper.lib.api.trakt.methods.calendar import get_calendar_episodes_list + self._get_calendar_episodes_list = get_calendar_episodes_list + return self._get_calendar_episodes_list(self, *args, **kwargs)