diff --git a/src/cryptocom/exchange/api.py b/src/cryptocom/exchange/api.py index 8028c67..25f958d 100644 --- a/src/cryptocom/exchange/api.py +++ b/src/cryptocom/exchange/api.py @@ -56,12 +56,11 @@ class ApiProvider: data['sign'] = hashlib.sha256(sign.encode('utf-8')).hexdigest() return data - async def ws_listen(self, data, timeout: int = None, retries: int = None): - retries = retries or self.retries + async def ws_listen(self, data, timeout: int = None): timeout = aiohttp.ClientTimeout(self.timeout) count = 0 - while count != retries: + while count != self.retries: async with aiohttp.ClientSession(timeout=timeout) as session: try: async with session.ws_connect(self.ws_root_url) as ws: @@ -72,29 +71,25 @@ class ApiProvider: yield data count = 0 except asyncio.TimeoutError: - if count == retries: - raise ApiError(f"Timeout error, retries: {retries}") + if count == self.retries: + raise ApiError( + f"Timeout error, retries: {self.retries}") await asyncio.sleep(0.2) count += 1 continue - async def ws_request(self, data, timeout: int = None, retries: int = None): - async for data in self.ws_listen( - data, timeout=timeout, retries=retries): + async def ws_request(self, data, timeout: int = None): + async for data in self.ws_listen(data, timeout=timeout): return data - async def request( - self, method, path, params=None, data=None, sign=False, - timeout: int = None, retries: int = None): + async def request(self, method, path, params=None, data=None, sign=False): if sign: data = self._sign(data) - timeout = timeout or self.timeout - retries = retries or self.retries - timeout = aiohttp.ClientTimeout(total=timeout) + timeout = aiohttp.ClientTimeout(total=self.timeout) - for count in range(retries + 1): + for count in range(self.retries + 1): try: async with aiohttp.ClientSession(timeout=timeout) as session: resp = await session.request( @@ -103,8 +98,8 @@ class ApiProvider: ) resp = await resp.json() except asyncio.TimeoutError: - if count == retries: - raise ApiError(f"Timeout error, retries: {retries}") + if count == self.retries: + raise ApiError(f"Timeout error, retries: {self.retries}") await asyncio.sleep(0.5) continue @@ -115,9 +110,9 @@ class ApiProvider: if resp['code'] == '0': return resp['data'] - if count == retries: + if count == self.retries: raise ApiError( - f"System error, retries: {retries}. Data: {resp}") + f"System error, retries: {self.retries}. Data: {resp}") await asyncio.sleep(0.5) continue