X-Git-Url: http://git.code-monkey.de/?p=plugin.video.netflix.git;a=blobdiff_plain;f=resources%2Flib%2FNetflixHttpSubRessourceHandler.py;h=43eb5370e799f2f64d9b6d027df04c21affe30ca;hp=3c6e7e425869849870f468b068a70e8b61489852;hb=ff2b5ac70453c86580956b4e0f6b16bb514c9566;hpb=ac8e4930d5a58324df62285b0c5c440833784ad4 diff --git a/resources/lib/NetflixHttpSubRessourceHandler.py b/resources/lib/NetflixHttpSubRessourceHandler.py index 3c6e7e4..43eb537 100644 --- a/resources/lib/NetflixHttpSubRessourceHandler.py +++ b/resources/lib/NetflixHttpSubRessourceHandler.py @@ -3,8 +3,6 @@ # Module: NetflixHttpSubRessourceHandler # Created on: 07.03.2017 -from urllib2 import urlopen, URLError - class NetflixHttpSubRessourceHandler: """ Represents the callable internal server routes & translates/executes them to requests for Netflix""" @@ -25,28 +23,24 @@ class NetflixHttpSubRessourceHandler: self.netflix_session = netflix_session self.credentials = self.kodi_helper.get_credentials() self.profiles = [] - self.prefetch_login() self.video_list_cache = {} - self.lolomo = None + self.prefetch_login() 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._network_availble(): - 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 + 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.profiles = [] + self.netflix_session.login(account=self.credentials) + self.profiles = self.netflix_session.profiles else: - sleep(1) - self.prefetch_login() + self.profiles = [] + self.kodi_helper.set_esn(self.netflix_session.esn) def is_logged_in (self, params): """Existing login proxy function @@ -80,7 +74,8 @@ class NetflixHttpSubRessourceHandler: """ 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): @@ -153,28 +148,11 @@ class NetflixHttpSubRessourceHandler: 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 @@ -316,7 +294,6 @@ class NetflixHttpSubRessourceHandler: 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): @@ -378,16 +355,3 @@ class NetflixHttpSubRessourceHandler: if 'error' in raw_search_contents: return raw_search_contents return self.netflix_session.parse_video_list(response_data=raw_search_contents) - - def _network_availble(self): - """Check if the network is available - Returns - ------- - bool - Network can be accessed - """ - try: - urlopen('http://216.58.192.142', timeout=1) - return True - except URLError as err: - return False