Skip to content

Commit 723c652

Browse files
committed
allow version override
1 parent da33b98 commit 723c652

1 file changed

Lines changed: 16 additions & 24 deletions

File tree

binance/client.py

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,14 @@ def _generate_signature(self, data: Dict) -> str:
280280
query_string = '&'.join([f"{d[0]}={d[1]}" for d in self._order_params(data)])
281281
return sig_func(query_string)
282282

283+
@staticmethod
284+
def _get_version(version: int, **kwargs) -> int:
285+
if 'data' in kwargs and 'version' in kwargs['data']:
286+
version_override = kwargs['data'].get('version')
287+
del kwargs['data']['version']
288+
return version_override
289+
return version
290+
283291
@staticmethod
284292
def _order_params(data: Dict) -> List[Tuple[str, str]]:
285293
"""Convert params to list with signature as last element
@@ -396,9 +404,7 @@ def _request_api(
396404
return self._request(method, uri, signed, **kwargs)
397405

398406
def _request_futures_api(self, method, path, signed=False, version: int = 1, **kwargs) -> Dict:
399-
if 'version' in kwargs:
400-
version = kwargs['version']
401-
del kwargs['version']
407+
version = self._get_version(version, **kwargs)
402408
uri = self._create_futures_api_uri(path, version)
403409

404410
return self._request(method, uri, signed, True, **kwargs)
@@ -409,17 +415,13 @@ def _request_futures_data_api(self, method, path, signed=False, **kwargs) -> Dic
409415
return self._request(method, uri, signed, True, **kwargs)
410416

411417
def _request_futures_coin_api(self, method, path, signed=False, version=1, **kwargs) -> Dict:
412-
if 'version' in kwargs:
413-
version = kwargs['version']
414-
del kwargs['version']
418+
version = self._get_version(version, **kwargs)
415419
uri = self._create_futures_coin_api_url(path, version=version)
416420

417421
return self._request(method, uri, signed, True, **kwargs)
418422

419423
def _request_futures_coin_data_api(self, method, path, signed=False, version=1, **kwargs) -> Dict:
420-
if 'version' in kwargs:
421-
version = kwargs['version']
422-
del kwargs['version']
424+
version = self._get_version(version, **kwargs)
423425
uri = self._create_futures_coin_data_api_url(path, version=version)
424426

425427
return self._request(method, uri, signed, True, **kwargs)
@@ -430,9 +432,7 @@ def _request_options_api(self, method, path, signed=False, **kwargs) -> Dict:
430432
return self._request(method, uri, signed, True, **kwargs)
431433

432434
def _request_margin_api(self, method, path, signed=False, version=1, **kwargs) -> Dict:
433-
if 'version' in kwargs:
434-
version = kwargs['version']
435-
del kwargs['version']
435+
version = self._get_version(version, **kwargs)
436436
uri = self._create_margin_api_uri(path, version)
437437

438438
return self._request(method, uri, signed, **kwargs)
@@ -8779,9 +8779,7 @@ async def _request_api(self, method, path, signed=False, version=BaseClient.PUBL
87798779
return await self._request(method, uri, signed, **kwargs)
87808780

87818781
async def _request_futures_api(self, method, path, signed=False, version=1, **kwargs) -> Dict:
8782-
if 'version' in kwargs:
8783-
version = kwargs['version']
8784-
del kwargs['version']
8782+
version = self._get_version(version, **kwargs)
87858783
uri = self._create_futures_api_uri(path, version=version)
87868784

87878785
return await self._request(method, uri, signed, True, **kwargs)
@@ -8792,17 +8790,13 @@ async def _request_futures_data_api(self, method, path, signed=False, **kwargs)
87928790
return await self._request(method, uri, signed, True, **kwargs)
87938791

87948792
async def _request_futures_coin_api(self, method, path, signed=False, version=1, **kwargs) -> Dict:
8795-
if 'version' in kwargs:
8796-
version = kwargs['version']
8797-
del kwargs['version']
8793+
version = self._get_version(version, **kwargs)
87988794
uri = self._create_futures_coin_api_url(path, version=version)
87998795

88008796
return await self._request(method, uri, signed, True, **kwargs)
88018797

88028798
async def _request_futures_coin_data_api(self, method, path, signed=False, version=1, **kwargs) -> Dict:
8803-
if 'version' in kwargs:
8804-
version = kwargs['version']
8805-
del kwargs['version']
8799+
version = self._get_version(version, **kwargs)
88068800
uri = self._create_futures_coin_data_api_url(path, version=version)
88078801

88088802
return await self._request(method, uri, signed, True, **kwargs)
@@ -8813,9 +8807,7 @@ async def _request_options_api(self, method, path, signed=False, **kwargs) -> Di
88138807
return await self._request(method, uri, signed, True, **kwargs)
88148808

88158809
async def _request_margin_api(self, method, path, signed=False, version=1, **kwargs) -> Dict:
8816-
if 'version' in kwargs:
8817-
version = kwargs['version']
8818-
del kwargs['version']
8810+
version = self._get_version(version, **kwargs)
88198811
uri = self._create_margin_api_uri(path, version)
88208812

88218813
return await self._request(method, uri, signed, **kwargs)

0 commit comments

Comments
 (0)