self.kodi_helper = kodi_helper
self.netflix_session = netflix_session
self.credentials = self.kodi_helper.get_credentials()
+ self.profiles = []
self.video_list_cache = {}
- self.lolomo = None
+ self.prefetch_login()
- # check if we have stored credentials, if so, do the login before the user requests it
- # if that is done, we cache the profiles
+ def prefetch_login (self):
+ """Check if we have stored credentials.
+ If so, do the login before the user requests it
+ If that is done, we cache the profiles
+ """
if self.credentials['email'] != '' and self.credentials['password'] != '':
if self.netflix_session.is_logged_in(account=self.credentials):
self.netflix_session.refresh_session_data(account=self.credentials)
+ self.profiles = self.netflix_session.profiles
else:
self.netflix_session.login(account=self.credentials)
- self.profiles = self.netflix_session.profiles
+ self.profiles = self.netflix_session.profiles
else:
self.profiles = []
+ self.kodi_helper.set_esn(self.netflix_session.esn)
def is_logged_in (self, params):
"""Existing login proxy function
"""
self.profiles = []
self.credentials = {'email': '', 'password': ''}
- self.lolomo = None
+ # delete esn data
+ self.kodi_helper.delete_manifest_data()
return self.netflix_session.logout()
def login (self, params):
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
return self.netflix_session.parse_video_list_ids(response_data=video_list_ids_raw)
- def fetch_video_list_ids_for_kids (self, params):
- """Video list ids proxy function (thanks to Netflix that we need to use a different API for Kids profiles)
-
- Parameters
- ----------
- params : :obj:`dict` of :obj:`str`
- Request params
-
- Returns
- -------
- :obj:`list`
- Transformed response of the remote call
- """
- if self.lolomo == None:
- self.lolomo = self.netflix_session.get_lolomo_for_kids()
- response = self.netflix_session.fetch_lists_for_kids(lolomo=self.lolomo)
- return response
-
def fetch_video_list (self, params):
"""Video list proxy function
Response of the remote call
"""
profile_id = params.get('profile_id', [''])[0]
- self.lolomo = None
return self.netflix_session.switch_profile(profile_id=profile_id, account=self.credentials)
def get_user_data (self, params):