Source code for kucoin.exceptions

# coding=utf-8

import json

# System error codes
# Code	Meaning
# 400001	Any of KC-API-KEY, KC-API-SIGN, KC-API-TIMESTAMP, KC-API-PASSPHRASE is missing in your request header
# 400002	KC-API-TIMESTAMP Invalid -- Time differs from server time by more than 5 seconds
# 400003	KC-API-KEY not exists
# 400004	KC-API-PASSPHRASE error
# 400005	Signature error -- Please check your signature
# 400006	The requested ip address is not in the api whitelist
# 400007	Access Denied -- Your api key does not have sufficient permissions to access the uri
# 404000	Url Not Found -- The request resource could not be found
# 400100	Parameter Error -- You tried to access the resource with invalid parameters
# 411100	User are frozen -- User are frozen, please contact us via support center.
# 500000	Internal Server Error -- We had a problem with our server. Try again later.


[docs]class KucoinAPIException(Exception): """Exception class to handle general API Exceptions `code` values `message` format """
[docs] def __init__(self, response): self.code = '' self.message = 'Unknown Error' try: json_res = response.json() except ValueError: self.message = response.content else: if 'error' in json_res: self.message = json_res['error'] if 'msg' in json_res: self.message = json_res['msg'] if 'message' in json_res and json_res['message'] != 'No message available': self.message += ' - {}'.format(json_res['message']) if 'code' in json_res: self.code = json_res['code'] if 'data' in json_res: try: self.message += " " + json.dumps(json_res['data']) except ValueError: pass self.status_code = response.status_code self.response = response self.request = getattr(response, 'request', None)
def __str__(self): # pragma: no cover return 'KucoinAPIException {}: {}'.format(self.code, self.message)
[docs]class KucoinRequestException(Exception):
[docs] def __init__(self, message): self.message = message
def __str__(self): return 'KucoinRequestException: {}'.format(self.message)
[docs]class MarketOrderException(Exception):
[docs] def __init__(self, message): self.message = message
def __str__(self): return 'MarketOrderException: {}'.format(self.message)
[docs]class LimitOrderException(Exception):
[docs] def __init__(self, message): self.message = message
def __str__(self): return 'LimitOrderException: {}'.format(self.message)