From: Sebastian Golasch Date: Fri, 17 Mar 2017 15:33:03 +0000 (+0100) Subject: chore(service): Removes initial connection check as it´s causing trouble X-Git-Url: http://git.code-monkey.de/?p=plugin.video.netflix.git;a=commitdiff_plain;h=d6b516f25ba5662cc3399edbb96ad18b18e013cb chore(service): Removes initial connection check as it´s causing trouble --- diff --git a/addon.py b/addon.py index 4549bf9..9e7a68a 100644 --- a/addon.py +++ b/addon.py @@ -33,5 +33,5 @@ kodi_helper.set_library(library=library) if __name__ == '__main__': # Call the router function and pass the plugin call parameters to it. # We use string slicing to trim the leading '?' from the plugin call paramstring - kodi_helper.log('started') + kodi_helper.log('Started (Version ' + kodi_helper.version + ')') navigation.router(paramstring=sys.argv[2][1:]) diff --git a/addon.xml b/addon.xml index 44635ec..ad81ae1 100644 --- a/addon.xml +++ b/addon.xml @@ -1,5 +1,5 @@ - + @@ -28,7 +28,7 @@ MIT http://www.kodinerds.net/index.php/Thread/55607-Inputstream-Agile-Betatest-Netflix/ https://github.com/asciidisco/plugin.video.netflix - v0.11.5 (2017-3-17) - - Speed up display of main menu, genre and recommendation list + v0.11.7 (2017-3-17) + - Remove initial connection check as it´s causing trouble diff --git a/resources/language/English/strings.po b/resources/language/English/strings.po index 98150a6..62ecc69 100644 --- a/resources/language/English/strings.po +++ b/resources/language/English/strings.po @@ -1,7 +1,7 @@ # Kodi Media Center language file # Addon Name: Netflix # Addon id: plugin.video.netflix -# Addon version: 0.11.6 +# Addon version: 0.11.7 # Addon Provider: libdev + jojo + asciidisco msgid "" msgstr "" diff --git a/resources/language/German/strings.po b/resources/language/German/strings.po index 64662b3..7210060 100644 --- a/resources/language/German/strings.po +++ b/resources/language/German/strings.po @@ -1,7 +1,7 @@ # Kodi Media Center language file # Addon Name: Netflix # Addon id: plugin.video.netflix -# Addon version: 0.11.6 +# Addon version: 0.11.7 # Addon Provider: libdev + jojo + asciidisco msgid "" msgstr "" diff --git a/resources/language/Slovak/strings.po b/resources/language/Slovak/strings.po index 243b72e..b6e1e04 100644 --- a/resources/language/Slovak/strings.po +++ b/resources/language/Slovak/strings.po @@ -1,7 +1,7 @@ # Kodi Media Center language file # Addon Name: Netflix # Addon id: plugin.video.netflix -# Addon version: 0.11.6 +# Addon version: 0.11.7 # Addon Provider: libdev + jojo + asciidisco msgid "" msgstr "" diff --git a/resources/language/Spanish/strings.po b/resources/language/Spanish/strings.po index 0fb62f6..e0e69f6 100644 --- a/resources/language/Spanish/strings.po +++ b/resources/language/Spanish/strings.po @@ -1,7 +1,7 @@ # Kodi Media Center language file # Addon Name: Netflix # Addon id: plugin.video.netflix -# Addon version: 0.11.6 +# Addon version: 0.11.7 # Addon Provider: libdev + jojo + asciidisco msgid "" msgstr "" diff --git a/resources/lib/KodiHelper.py b/resources/lib/KodiHelper.py index 7519c99..1f12375 100644 --- a/resources/lib/KodiHelper.py +++ b/resources/lib/KodiHelper.py @@ -35,6 +35,7 @@ class KodiHelper: self.base_url = base_url self.addon = Addon() self.plugin = self.addon.getAddonInfo('name') + self.version = self.addon.getAddonInfo('version') self.base_data_path = xbmc.translatePath(self.addon.getAddonInfo('profile')) self.home_path = xbmc.translatePath('special://home') self.plugin_path = self.addon.getAddonInfo('path') diff --git a/resources/lib/NetflixHttpSubRessourceHandler.py b/resources/lib/NetflixHttpSubRessourceHandler.py index b1bad7a..a4113a4 100644 --- a/resources/lib/NetflixHttpSubRessourceHandler.py +++ b/resources/lib/NetflixHttpSubRessourceHandler.py @@ -3,9 +3,6 @@ # Module: NetflixHttpSubRessourceHandler # Created on: 07.03.2017 -from urllib2 import urlopen, URLError -from time import sleep - class NetflixHttpSubRessourceHandler: """ Represents the callable internal server routes & translates/executes them to requests for Netflix""" @@ -26,28 +23,23 @@ 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 = [] def is_logged_in (self, params): """Existing login proxy function @@ -81,7 +73,6 @@ class NetflixHttpSubRessourceHandler: """ self.profiles = [] self.credentials = {'email': '', 'password': ''} - self.lolomo = None return self.netflix_session.logout() def login (self, params): @@ -300,7 +291,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): @@ -362,16 +352,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 diff --git a/service.py b/service.py index 92a2cda..cb5c7a7 100644 --- a/service.py +++ b/service.py @@ -7,7 +7,6 @@ import threading import SocketServer import socket from xbmc import Monitor -from xbmcaddon import Addon from resources.lib.KodiHelper import KodiHelper from resources.lib.MSLHttpRequestHandler import MSLHttpRequestHandler from resources.lib.NetflixHttpRequestHandler import NetflixHttpRequestHandler @@ -15,22 +14,21 @@ from resources.lib.NetflixHttpRequestHandler import NetflixHttpRequestHandler # helper function to select an unused port on the host machine def select_unused_port(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - sock.bind(('localhost', 0)) + sock.bind(('127.0.0.1', 0)) addr, port = sock.getsockname() sock.close() return port -addon = Addon() kodi_helper = KodiHelper() # pick & store a port for the MSL service msl_port = select_unused_port() -addon.setSetting('msl_service_port', str(msl_port)) +kodi_helper.set_setting('msl_service_port', str(msl_port)) kodi_helper.log(msg='[MSL] Picked Port: ' + str(msl_port)) # pick & store a port for the internal Netflix HTTP proxy service ns_port = select_unused_port() -addon.setSetting('netflix_service_port', str(ns_port)) +kodi_helper.set_setting('netflix_service_port', str(ns_port)) kodi_helper.log(msg='[NS] Picked Port: ' + str(ns_port)) # server defaults