From 5a8695c556381f4bac736b7059161fb471c4db0e Mon Sep 17 00:00:00 2001 From: Kim Streich Date: Fri, 4 Oct 2024 15:36:34 -0600 Subject: [PATCH] Prevent duplication of GET parameters # Conflicts: # ncm/ncm/ncm.py --- ncm/ncm/ncm.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ncm/ncm/ncm.py b/ncm/ncm/ncm.py index fba7f25..c20e8a0 100644 --- a/ncm/ncm/ncm.py +++ b/ncm/ncm/ncm.py @@ -51,6 +51,7 @@ from requests import Session from requests.adapters import HTTPAdapter from http import HTTPStatus +from urllib.parse import urlencode from urllib3.util.retry import Retry from datetime import datetime, timedelta import sys @@ -220,8 +221,11 @@ def __get_json(self, get_url, call_type, params=None): chunk_str = ','.join(map(str, chunk)) params.update({key: chunk_str}) url = get_url + if params is not None: + query_string = urlencode(params) + url = f'{url}?{query_string}' while url and (len(results) < limit): - ncm = self.session.get(url, params=params) + ncm = self.session.get(url) if not (200 <= ncm.status_code < 300): break self._return_handler(ncm.status_code, @@ -233,8 +237,11 @@ def __get_json(self, get_url, call_type, params=None): if __in_keys == 0: url = get_url + if params is not None: + query_string = urlencode(params) + url = f'{url}?{query_string}' while url and (len(results) < limit): - ncm = self.session.get(url, params=params) + ncm = self.session.get(url) if not (200 <= ncm.status_code < 300): break self._return_handler(ncm.status_code, ncm.json()['data'],