X-Git-Url: http://git.code-monkey.de/?p=plugin.video.netflix.git;a=blobdiff_plain;f=resources%2Flib%2FNetflixHttpSubRessourceHandler.py;h=47230f459d0aea8405ea47c106bc656f6e9670e9;hp=dd0fa08a608e56e1870327c8ea4fcf137c9d7a57;hb=b6a1c1cd2250104b139115ef16475c539626a9a7;hpb=e68ef11b3c5f02b0aec3482b81235b9244af4fdb diff --git a/resources/lib/NetflixHttpSubRessourceHandler.py b/resources/lib/NetflixHttpSubRessourceHandler.py index dd0fa08..47230f4 100644 --- a/resources/lib/NetflixHttpSubRessourceHandler.py +++ b/resources/lib/NetflixHttpSubRessourceHandler.py @@ -9,6 +9,7 @@ class NetflixHttpSubRessourceHandler: self.kodi_helper = kodi_helper self.netflix_session = netflix_session self.credentials = self.kodi_helper.get_credentials() + self.video_list_cache = {} if self.credentials['email'] != '' and self.credentials['password'] != '': if self.netflix_session.is_logged_in(account=self.credentials): @@ -16,9 +17,16 @@ class NetflixHttpSubRessourceHandler: else: self.netflix_session.login(account=self.credentials) self.profiles = self.netflix_session.profiles + self._prefetch_user_video_lists() else: self.profiles = [] + def _prefetch_user_video_lists (self): + for profile_id in self.profiles: + self.switch_profile({'profile_id': [profile_id]}) + self.video_list_cache[profile_id] = self.fetch_video_list_ids({}) + print self.video_list_cache + def is_logged_in (self, params): if self.credentials['email'] == '' or self.credentials['password'] == '': return False @@ -46,6 +54,10 @@ class NetflixHttpSubRessourceHandler: return self.netflix_session.esn def fetch_video_list_ids (self, params): + cached_list = self.video_list_cache.get(self.netflix_session.user_data['guid'], None) + if cached_list != None: + self.kodi_helper.log('Serving cached list for user: ' + self.netflix_session.user_data['guid']) + return cached_list video_list_ids_raw = self.netflix_session.fetch_video_list_ids() if 'error' in video_list_ids_raw: return video_list_ids_raw