unicex 0.16.5__py3-none-any.whl → 0.16.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,7 @@ from loguru import logger as _logger
8
8
 
9
9
  from unicex._base import BaseClient, Websocket
10
10
  from unicex.enums import Timeframe
11
+ from unicex.exceptions import AdapterError
11
12
  from unicex.types import LoggerLike
12
13
 
13
14
  from .uni_client import IUniClient
@@ -41,6 +42,13 @@ class IUniWebsocketManager(ABC):
41
42
  try:
42
43
  adapted = adapter_func(raw_msg)
43
44
  except Exception as e:
45
+ if isinstance(e, AdapterError):
46
+ try:
47
+ if self._is_service_message(raw_msg):
48
+ return
49
+ except Exception as err:
50
+ self._logger.error(f"Failed to handle adapter error: {e}")
51
+ raise err from e
44
52
  self._logger.warning(f"Failed to adapt message: {e}")
45
53
  return
46
54
  if isinstance(adapted, list):
@@ -51,6 +59,13 @@ class IUniWebsocketManager(ABC):
51
59
 
52
60
  return _wrapper
53
61
 
62
+ def _is_service_message(self, raw_msg: Any) -> bool:
63
+ """Дополнительно обрабатывает ошибку адаптации сообщения на случай, если это сервисное сообщение, например `ping` или `subscribe`.
64
+
65
+ Переопределяется в каждом наследнике в связи с разным форматом входящих данных.
66
+ """
67
+ return False
68
+
54
69
  @overload
55
70
  def klines(
56
71
  self,
@@ -36,6 +36,12 @@ class UniWebsocketManager(IUniWebsocketManager):
36
36
  self._websocket_manager = WebsocketManager(self._client, **ws_kwargs) # type: ignore
37
37
  self._adapter = Adapter()
38
38
 
39
+ def _is_service_message(self, raw_msg: Any) -> bool:
40
+ """Дополнительно обрабатывает ошибку адаптации сообщения с вебсокета Bybit."""
41
+ if raw_msg.get("op") == "subscribe":
42
+ return True
43
+ return False
44
+
39
45
  @overload
40
46
  def klines(
41
47
  self,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unicex
3
- Version: 0.16.5
3
+ Version: 0.16.6
4
4
  Summary: Unified Crypto Exchange API
5
5
  Author-email: LoveBloodAndDiamonds <ayazshakirzyanov27@gmail.com>
6
6
  License: BSD 3-Clause License
@@ -8,7 +8,7 @@ unicex/utils.py,sha256=1iK-ifZ-hUaU4Z-YCLoZsjAZREfJO7amYsjzG70JEk8,9963
8
8
  unicex/_abc/__init__.py,sha256=fxZjNFJFeFwWTXz8iSDe7eCWwE6xfFwFwAuG6l-TI8A,289
9
9
  unicex/_abc/exchange_info.py,sha256=TP_theOj1JS3Dcx5hqGT1yma1Jed776N4okOKXB7ePw,9537
10
10
  unicex/_abc/uni_client.py,sha256=-kFVA2W2Nm50ZbTzxzrRqbh_To3vSrPNE9IxdfxCCVI,14946
11
- unicex/_abc/uni_websocket_manager.py,sha256=ojAsQFViX6UjREQOg6aSvvw9pHLFhN4T-gorplODlFw,9882
11
+ unicex/_abc/uni_websocket_manager.py,sha256=fhZh2e2EDnt7YejCa0Uk3oqmg0OOcL8Kp5Ts0F9tpco,10744
12
12
  unicex/_base/__init__.py,sha256=0TmevATGnRB3qow6tkCR8dQKNZCWKeib6YQjNJ4a1b0,236
13
13
  unicex/_base/client.py,sha256=GuWfNNO6jVLAN-YUNKLmd-W5AfRelJIgKUe7vIQ12Qk,9318
14
14
  unicex/_base/websocket.py,sha256=F6fwFeDkn6GLI0IC0g_SNOrfCJw4RR3Uqo8JMWkCApc,13422
@@ -41,7 +41,7 @@ unicex/bybit/adapter.py,sha256=yxdcn9wLcwQClnEL2kTHoPPkGiEDBNgeQ3J5qFHqcng,8174
41
41
  unicex/bybit/client.py,sha256=TB69fwMgvmKmkTFcO9Wf8S_Fe4JJGOM_208AlL4Dh8A,61673
42
42
  unicex/bybit/exchange_info.py,sha256=S5IrN5c-jW0QbuO4LGH5rluO6qo7ib-wL-8LJWNOZgI,2422
43
43
  unicex/bybit/uni_client.py,sha256=0wmIRRgofuJXWvZMB1gHwuIEfoWuPhLJXthmK1f9w40,8382
44
- unicex/bybit/uni_websocket_manager.py,sha256=wRiaB42RliHmqR6ek3CJw69u7MgZ2qifyLCSya_PA3w,11737
44
+ unicex/bybit/uni_websocket_manager.py,sha256=6Stzcr1ii97zLhE7Jam1254VNsUwNFmtfv2u6XKPLG4,12031
45
45
  unicex/bybit/user_websocket.py,sha256=IGGEnwyWs5jOppgK_R7SisBDvsiF1_piTswBrdQOgDg,128
46
46
  unicex/bybit/websocket_manager.py,sha256=SYe2gGoPZvhasCehR7K2DOw_2nbewauF3BBIKYN88FQ,14463
47
47
  unicex/gate/__init__.py,sha256=dsKvhQhDcw4_w0S4c9IjKkCoOg4DCUtSecEUOlfstug,929
@@ -102,8 +102,8 @@ unicex/okx/uni_client.py,sha256=E_Wod0JSGt1K6k1mAIWnOv350pELbv-nic7g1KgOuos,8694
102
102
  unicex/okx/uni_websocket_manager.py,sha256=wrROl5RmxCJC8o_k6mc1UufbNsOKTRhIFqq5yinXUBQ,11626
103
103
  unicex/okx/user_websocket.py,sha256=8c9kpm-xVa729pW93OKUGLHaE9MY0uzEpjIgNIFRF80,126
104
104
  unicex/okx/websocket_manager.py,sha256=3sXjN0BJGyj2aK05J4WJ_-hhwaSX9PvzhaZri86OlZg,25038
105
- unicex-0.16.5.dist-info/licenses/LICENSE,sha256=lNNK4Vqak9cXm6qVJLhbqS7iR_BMj6k7fd7XQ6l1k54,1507
106
- unicex-0.16.5.dist-info/METADATA,sha256=WUm5KyhQuCnz9I57V0GS1Ovxn1cj3D2bH8I2ymFUfwk,11972
107
- unicex-0.16.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
108
- unicex-0.16.5.dist-info/top_level.txt,sha256=_7rar-0OENIg4KRy6cgjWiebFYAJhjKEcMggAocGWG4,7
109
- unicex-0.16.5.dist-info/RECORD,,
105
+ unicex-0.16.6.dist-info/licenses/LICENSE,sha256=lNNK4Vqak9cXm6qVJLhbqS7iR_BMj6k7fd7XQ6l1k54,1507
106
+ unicex-0.16.6.dist-info/METADATA,sha256=rYx7QJeKoxUGOqAOOgK774-_Vl9rQW8LC672G-5Imgs,11972
107
+ unicex-0.16.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
108
+ unicex-0.16.6.dist-info/top_level.txt,sha256=_7rar-0OENIg4KRy6cgjWiebFYAJhjKEcMggAocGWG4,7
109
+ unicex-0.16.6.dist-info/RECORD,,