chore(performance): Does preflight request with lolomoid if given in cookie
[plugin.video.netflix.git] / resources / lib / NetflixSession.py
index 6755c66694ba40a8045cb08b01bd9bfa107d152a..2dc142ba48e016019a44dd194670ceef6744d7ac 100644 (file)
@@ -6,7 +6,7 @@
 import os
 import json
 from requests import session, cookies
-from urllib import quote
+from urllib import quote, unquote
 from time import time
 from base64 import urlsafe_b64encode
 from bs4 import BeautifulSoup, SoupStrainer
@@ -24,10 +24,10 @@ class NetflixSession:
 
     urls = {
         'login': '/login',
-        'browse': '/browse',
+        'browse': '/profiles/manage',
         'video_list_ids': '/preflight',
         'shakti': '/pathEvaluator',
-        'profiles':  '/browse',
+        'profiles':  '/profiles/manage',
         'switch_profiles': '/profiles/switch',
         'adult_pin': '/pin/service',
         'metadata': '/metadata',
@@ -1293,6 +1293,13 @@ class NetflixSession:
             '_': int(time()),
             'authURL': self.user_data['authURL']
         }
+
+        # check if we have a root lolomo for that user within our cookies
+        for cookie in self.session.cookies:
+            if cookie.name == 'lhpuuidh-browse-' + self.user_data['guid']:
+                value = unquote(cookie.value)
+                payload['lolomoid'] = value[value.rfind(':')+1:];
+
         response = self._session_get(component='video_list_ids', params=payload, type='api')
         return self._process_response(response=response, component=self._get_api_url_for(component='video_list_ids'))
 
@@ -1563,8 +1570,6 @@ class NetflixSession:
         })
 
         params = {
-            'withSize': True,
-            'materialize': True,
             'model': self.user_data['gpsModel']
         }