diff --git a/vinetrimmer/services/amazon.py b/vinetrimmer/services/amazon.py index f582dbe..edb97a8 100644 --- a/vinetrimmer/services/amazon.py +++ b/vinetrimmer/services/amazon.py @@ -1109,7 +1109,7 @@ class Amazon(BaseService): csrf_token = self.get_csrf_token() # Code pair - code_pair = self.get_code_pair(device) + code_pair, referer = self.get_code_pair(device) # Device link response = self.session.post( @@ -1118,7 +1118,7 @@ class Amazon(BaseService): "Accept": "*/*", "Accept-Language": "en-US,en;q=0.9,es-US;q=0.8,es;q=0.7", # needed? "Content-Type": "application/x-www-form-urlencoded", - "Referer": self.endpoints["ontv"] + "Referer": referer }, params=urlencode({ # any reason it urlencodes here? requests can take a param dict... @@ -1244,22 +1244,22 @@ class Amazon(BaseService): prop = json.loads(match.group(1)) prop = prop.get("props", {}).get("codeEntry", {}).get("token") if prop: - return prop - raise self.log.exit(f"Unable to get ontv CSRF token - Navigate to {self.endpoints['mytv']}, login and save cookies from that page to default.txt") + return prop, self.endpoints["ontv"] + raise self.log.exit(f"Unable to get ontv CSRF token - Navigate to {self.endpoints['mytv']}, login and save cookies from code pair page to default.txt") except: res = self.session.get(self.endpoints["ontvold"]) response = res.text if 'input type="hidden" name="appAction" value="SIGNIN"' in response: raise self.log.exit( "Cookies are signed out, cannot get ontv CSRF token. " - f"Expecting profile to have cookies for: {self.endpoints['ontv']}" + f"Expecting profile to have cookies for: {self.endpoints['ontvold']}" ) for match in re.finditer(r"", response): prop = json.loads(match.group(1)) prop = prop.get("props", {}).get("codeEntry", {}).get("token") if prop: - return prop - raise self.log.exit(f"Unable to get ontv CSRF token - Navigate to {self.endpoints['mytv']}, login and save cookies from that page to default.txt") + return prop, self.endpoints["ontvold"] + raise self.log.exit(f"Unable to get ontv CSRF token - Navigate to {self.endpoints['mytv']}, login and save cookies from code pair page to default.txt") def get_code_pair(self, device: dict) -> dict: