chore(performance): Rearragenes imports to speed up addon start
authorJohannes Trum <johannes@die-trums.de>
Mon, 6 Mar 2017 15:01:53 +0000 (16:01 +0100)
committerJohannes Trum <johannes@die-trums.de>
Mon, 6 Mar 2017 15:01:53 +0000 (16:01 +0100)
addon.py
resources/lib/NetflixSession.py

index 712691684a57fe482145229083fe421fa30317ae..55c918cb240216a3cacf67e36edd5764ded57711 100644 (file)
--- a/addon.py
+++ b/addon.py
@@ -4,19 +4,12 @@
 # Created on: 13.01.2017
 
 # import local classes
-if __package__ is None:
-    import sys
-    import os
-    sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
-    from resources.lib.NetflixSession import NetflixSession
-    from resources.lib.KodiHelper import KodiHelper
-    from resources.lib.Navigation import Navigation
-    from resources.lib.Library import Library
-else:
-    from .resources.lib.NetflixSession import NetflixSession
-    from .resources.lib.KodiHelper import KodiHelper
-    from .resources.lib.Navigation import Navigation
-    from .resources.lib.Library import Library
+
+import sys
+from resources.lib.NetflixSession import NetflixSession
+from resources.lib.KodiHelper import KodiHelper
+from resources.lib.Navigation import Navigation
+from resources.lib.Library import Library
 
 # Setup plugin
 plugin_handle = int(sys.argv[1])
index 8c3172482c2348cd3f9c771de01f7c5d671758da..a96fae6f9b400b310e25120c27b222e3f827a9fd 100644 (file)
@@ -3,20 +3,17 @@
 # Module: NetflixSession
 # Created on: 13.01.2017
 
-import sys
 import os
 import base64
 import time
 import urllib
 import json
 import requests
-import platform
 try:
    import cPickle as pickle
 except:
    import pickle
 from bs4 import BeautifulSoup, SoupStrainer
-from pyjsparser import PyJsParser
 from utils import noop
 
 class NetflixSession:
@@ -1862,6 +1859,7 @@ class NetflixSession:
         :obj:`str`
             User Agent for platform
         """
+        import platform
         if platform == 'linux' or platform == 'linux2':
             return 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'
         elif platform == 'darwin':
@@ -2073,16 +2071,17 @@ class NetflixSession:
             :obj:`dict` of :obj:`str`
                 Dict containing user, api & profile data
         """
-        inline_data = [];
+        inline_data = []
+        from pyjsparser import PyJsParser
         parser = PyJsParser()
         for script in scripts:
-            data = {};
+            data = {}
             # unicode escape that incoming script stuff
             contents = self._to_unicode(str(script.contents[0]))
             # parse the JS & load the declarations we´re interested in
             parsed = parser.parse(contents)
             if len(parsed['body']) > 1 and parsed['body'][1]['expression']['right'].get('properties', None) != None:
-                declarations = parsed['body'][1]['expression']['right']['properties'];
+                declarations = parsed['body'][1]['expression']['right']['properties']
                 for declaration in declarations:
                     for key in declaration:
                         # we found the correct path if the declaration is a dict & of type 'ObjectExpression'
@@ -2272,7 +2271,7 @@ class NetflixSession:
             :obj:`str` of :obj:`str
             ESN, something like: NFCDCH-MC-D7D6F54LOPY8J416T72MQXX3RD20ME
         """
-        esn = '';
+        esn = ''
         # values are accessible via dict (sloppy parsing successfull)
         if type(netflix_page_data) == dict:
             return netflix_page_data.get('esn', '')
@@ -2297,5 +2296,5 @@ class NetflixSession:
         self.esn = self._parse_esn_data(netflix_page_data=netflix_page_data)
         self.api_data = self._parse_api_base_data(netflix_page_data=netflix_page_data)
         self.profiles = self._parse_profile_data(netflix_page_data=netflix_page_data)
-        self.log('Found ESN "' + self.esn + '" for platform "' + str(platform.system()) + '"')
+        self.log('Found ESN "' + self.esn)
         return netflix_page_data