Skip to content

Commit 7ab4318

Browse files
author
Sam McHardy
committed
Merge branch 'develop'
2 parents d35b2bb + c2b398c commit 7ab4318

3 files changed

Lines changed: 76 additions & 41 deletions

File tree

binance/client.py

Lines changed: 45 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ def get_products(self):
223223
224224
:returns: list - List of product dictionaries
225225
226-
:raises: BinanceResponseException, BinanceAPIException
226+
:raises: BinanceRequestException, BinanceAPIException
227227
228228
"""
229229

@@ -288,7 +288,7 @@ def get_exchange_info(self):
288288
]
289289
}
290290
291-
:raises: BinanceResponseException, BinanceAPIException
291+
:raises: BinanceRequestException, BinanceAPIException
292292
293293
"""
294294

@@ -331,7 +331,7 @@ def get_symbol_info(self, symbol):
331331
]
332332
}
333333
334-
:raises: BinanceResponseException, BinanceAPIException
334+
:raises: BinanceRequestException, BinanceAPIException
335335
336336
"""
337337

@@ -356,7 +356,7 @@ def ping(self):
356356
357357
{}
358358
359-
:raises: BinanceResponseException, BinanceAPIException
359+
:raises: BinanceRequestException, BinanceAPIException
360360
361361
"""
362362
return self._get('ping')
@@ -374,7 +374,7 @@ def get_server_time(self):
374374
"serverTime": 1499827319559
375375
}
376376
377-
:raises: BinanceResponseException, BinanceAPIException
377+
:raises: BinanceRequestException, BinanceAPIException
378378
379379
"""
380380
return self._get('time')
@@ -401,7 +401,7 @@ def get_all_tickers(self):
401401
}
402402
]
403403
404-
:raises: BinanceResponseException, BinanceAPIException
404+
:raises: BinanceRequestException, BinanceAPIException
405405
406406
"""
407407
return self._get('ticker/allPrices')
@@ -432,7 +432,7 @@ def get_orderbook_tickers(self):
432432
}
433433
]
434434
435-
:raises: BinanceResponseException, BinanceAPIException
435+
:raises: BinanceRequestException, BinanceAPIException
436436
437437
"""
438438
return self._get('ticker/allBookTickers')
@@ -444,7 +444,7 @@ def get_order_book(self, **params):
444444
445445
:param symbol: required
446446
:type symbol: str
447-
:param limit: Default 100; max 100
447+
:param limit: Default 100; max 1000
448448
:type limit: int
449449
450450
:returns: API response
@@ -469,7 +469,7 @@ def get_order_book(self, **params):
469469
]
470470
}
471471
472-
:raises: BinanceResponseException, BinanceAPIException
472+
:raises: BinanceRequestException, BinanceAPIException
473473
474474
"""
475475
return self._get('depth', data=params)
@@ -499,7 +499,7 @@ def get_recent_trades(self, **params):
499499
}
500500
]
501501
502-
:raises: BinanceResponseException, BinanceAPIException
502+
:raises: BinanceRequestException, BinanceAPIException
503503
504504
"""
505505
return self._get('trades', data=params)
@@ -531,7 +531,7 @@ def get_historical_trades(self, **params):
531531
}
532532
]
533533
534-
:raises: BinanceResponseException, BinanceAPIException
534+
:raises: BinanceRequestException, BinanceAPIException
535535
536536
"""
537537
return self._get('historicalTrades', data=params)
@@ -570,7 +570,7 @@ def get_aggregate_trades(self, **params):
570570
}
571571
]
572572
573-
:raises: BinanceResponseException, BinanceAPIException
573+
:raises: BinanceRequestException, BinanceAPIException
574574
575575
"""
576576
return self._get('aggTrades', data=params)
@@ -683,7 +683,7 @@ def get_klines(self, **params):
683683
]
684684
]
685685
686-
:raises: BinanceResponseException, BinanceAPIException
686+
:raises: BinanceRequestException, BinanceAPIException
687687
688688
"""
689689
return self._get('klines', data=params)
@@ -697,11 +697,11 @@ def get_historical_klines(self, symbol, interval, start_str, end_str=None):
697697
698698
:param symbol: Name of symbol pair e.g BNBBTC
699699
:type symbol: str
700-
:param interval: Biannce Kline interval
700+
:param interval: Binance Kline interval
701701
:type interval: str
702702
:param start_str: Start date string in UTC format
703703
:type start_str: str
704-
:param end_str: optional - end date string in UTC format
704+
:param end_str: optional - end date string in UTC format (default will fetch everything up to now)
705705
:type end_str: str
706706
707707
:return: list of OHLCV values
@@ -742,6 +742,11 @@ def get_historical_klines(self, symbol, interval, start_str, end_str=None):
742742
symbol_existed = True
743743

744744
if symbol_existed:
745+
746+
# handle the case where exactly the limit amount of data was returned last loop
747+
if not len(temp_data):
748+
break
749+
745750
# append this loops data to our output data
746751
output_data += temp_data
747752

@@ -819,7 +824,7 @@ def get_ticker(self, **params):
819824
}
820825
]
821826
822-
:raises: BinanceResponseException, BinanceAPIException
827+
:raises: BinanceRequestException, BinanceAPIException
823828
824829
"""
825830
return self._get('ticker/24hr', data=params)
@@ -856,7 +861,7 @@ def get_symbol_ticker(self, **params):
856861
}
857862
]
858863
859-
:raises: BinanceResponseException, BinanceAPIException
864+
:raises: BinanceRequestException, BinanceAPIException
860865
861866
"""
862867
return self._get('ticker/price', data=params, version=self.PRIVATE_API_VERSION)
@@ -902,7 +907,7 @@ def get_orderbook_ticker(self, **params):
902907
}
903908
]
904909
905-
:raises: BinanceResponseException, BinanceAPIException
910+
:raises: BinanceRequestException, BinanceAPIException
906911
907912
"""
908913
return self._get('ticker/bookTicker', data=params, version=self.PRIVATE_API_VERSION)
@@ -1018,7 +1023,7 @@ def create_order(self, **params):
10181023
]
10191024
}
10201025
1021-
:raises: BinanceResponseException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
1026+
:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
10221027
10231028
"""
10241029
return self._post('order', True, data=params)
@@ -1051,7 +1056,7 @@ def order_limit(self, timeInForce=TIME_IN_FORCE_GTC, **params):
10511056
10521057
See order endpoint for full response options
10531058
1054-
:raises: BinanceResponseException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
1059+
:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
10551060
10561061
"""
10571062
params.update({
@@ -1088,7 +1093,7 @@ def order_limit_buy(self, timeInForce=TIME_IN_FORCE_GTC, **params):
10881093
10891094
See order endpoint for full response options
10901095
1091-
:raises: BinanceResponseException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
1096+
:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
10921097
10931098
"""
10941099
params.update({
@@ -1122,7 +1127,7 @@ def order_limit_sell(self, timeInForce=TIME_IN_FORCE_GTC, **params):
11221127
11231128
See order endpoint for full response options
11241129
1125-
:raises: BinanceResponseException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
1130+
:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
11261131
11271132
"""
11281133
params.update({
@@ -1150,7 +1155,7 @@ def order_market(self, **params):
11501155
11511156
See order endpoint for full response options
11521157
1153-
:raises: BinanceResponseException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
1158+
:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
11541159
11551160
"""
11561161
params.update({
@@ -1176,7 +1181,7 @@ def order_market_buy(self, **params):
11761181
11771182
See order endpoint for full response options
11781183
1179-
:raises: BinanceResponseException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
1184+
:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
11801185
11811186
"""
11821187
params.update({
@@ -1202,7 +1207,7 @@ def order_market_sell(self, **params):
12021207
12031208
See order endpoint for full response options
12041209
1205-
:raises: BinanceResponseException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
1210+
:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
12061211
12071212
"""
12081213
params.update({
@@ -1242,7 +1247,7 @@ def create_test_order(self, **params):
12421247
12431248
{}
12441249
1245-
:raises: BinanceResponseException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
1250+
:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException
12461251
12471252
12481253
"""
@@ -1282,7 +1287,7 @@ def get_order(self, **params):
12821287
"time": 1499827319559
12831288
}
12841289
1285-
:raises: BinanceResponseException, BinanceAPIException
1290+
:raises: BinanceRequestException, BinanceAPIException
12861291
12871292
"""
12881293
return self._get('order', True, data=params)
@@ -1323,7 +1328,7 @@ def get_all_orders(self, **params):
13231328
}
13241329
]
13251330
1326-
:raises: BinanceResponseException, BinanceAPIException
1331+
:raises: BinanceRequestException, BinanceAPIException
13271332
13281333
"""
13291334
return self._get('allOrders', True, data=params)
@@ -1355,7 +1360,7 @@ def cancel_order(self, **params):
13551360
"clientOrderId": "cancelMyOrder1"
13561361
}
13571362
1358-
:raises: BinanceResponseException, BinanceAPIException
1363+
:raises: BinanceRequestException, BinanceAPIException
13591364
13601365
"""
13611366
return self._delete('order', True, data=params)
@@ -1392,7 +1397,7 @@ def get_open_orders(self, **params):
13921397
}
13931398
]
13941399
1395-
:raises: BinanceResponseException, BinanceAPIException
1400+
:raises: BinanceRequestException, BinanceAPIException
13961401
13971402
"""
13981403
return self._get('openOrders', True, data=params)
@@ -1432,7 +1437,7 @@ def get_account(self, **params):
14321437
]
14331438
}
14341439
1435-
:raises: BinanceResponseException, BinanceAPIException
1440+
:raises: BinanceRequestException, BinanceAPIException
14361441
14371442
"""
14381443
return self._get('account', True, data=params)
@@ -1457,7 +1462,7 @@ def get_asset_balance(self, asset, **params):
14571462
"locked": "0.00000000"
14581463
}
14591464
1460-
:raises: BinanceResponseException, BinanceAPIException
1465+
:raises: BinanceRequestException, BinanceAPIException
14611466
14621467
"""
14631468
res = self.get_account(**params)
@@ -1500,7 +1505,7 @@ def get_my_trades(self, **params):
15001505
}
15011506
]
15021507
1503-
:raises: BinanceResponseException, BinanceAPIException
1508+
:raises: BinanceRequestException, BinanceAPIException
15041509
15051510
"""
15061511
return self._get('myTrades', True, data=params)
@@ -1587,7 +1592,7 @@ def withdraw(self, **params):
15871592
"id":"7213fea8e94b4a5593d507237e5a555b"
15881593
}
15891594
1590-
:raises: BinanceResponseException, BinanceAPIException, BinanceWithdrawException
1595+
:raises: BinanceRequestException, BinanceAPIException, BinanceWithdrawException
15911596
15921597
"""
15931598
# force a name for the withdrawal if one not set
@@ -1630,7 +1635,7 @@ def get_deposit_history(self, **params):
16301635
"success": true
16311636
}
16321637
1633-
:raises: BinanceResponseException, BinanceAPIException
1638+
:raises: BinanceRequestException, BinanceAPIException
16341639
16351640
"""
16361641
return self._request_withdraw_api('get', 'depositHistory.html', True, data=params)
@@ -1676,7 +1681,7 @@ def get_withdraw_history(self, **params):
16761681
"success": true
16771682
}
16781683
1679-
:raises: BinanceResponseException, BinanceAPIException
1684+
:raises: BinanceRequestException, BinanceAPIException
16801685
16811686
"""
16821687
return self._request_withdraw_api('get', 'withdrawHistory.html', True, data=params)
@@ -1702,7 +1707,7 @@ def get_deposit_address(self, **params):
17021707
"asset": "BNB"
17031708
}
17041709
1705-
:raises: BinanceResponseException, BinanceAPIException
1710+
:raises: BinanceRequestException, BinanceAPIException
17061711
17071712
"""
17081713
return self._request_withdraw_api('get', 'depositAddress.html', True, data=params)
@@ -1726,7 +1731,7 @@ def stream_get_listen_key(self):
17261731
"listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
17271732
}
17281733
1729-
:raises: BinanceResponseException, BinanceAPIException
1734+
:raises: BinanceRequestException, BinanceAPIException
17301735
17311736
"""
17321737
res = self._post('userDataStream', False, data={})
@@ -1746,7 +1751,7 @@ def stream_keepalive(self, listenKey):
17461751
17471752
{}
17481753
1749-
:raises: BinanceResponseException, BinanceAPIException
1754+
:raises: BinanceRequestException, BinanceAPIException
17501755
17511756
"""
17521757
params = {
@@ -1768,7 +1773,7 @@ def stream_close(self, listenKey):
17681773
17691774
{}
17701775
1771-
:raises: BinanceResponseException, BinanceAPIException
1776+
:raises: BinanceRequestException, BinanceAPIException
17721777
17731778
"""
17741779
params = {

binance/exceptions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class BinanceAPIException(Exception):
66
LISTENKEY_NOT_EXIST = '-1125'
77

88
def __init__(self, response):
9-
self.status_code = 0
9+
self.code = 0
1010
try:
1111
json_res = response.json()
1212
except ValueError:

0 commit comments

Comments
 (0)