Skip to content

Commit 165abcb

Browse files
authored
Upgrade modules (#13)
* upgrade websockets * upgrade rx to reactivex
1 parent 0f85e7b commit 165abcb

File tree

7 files changed

+89
-66
lines changed

7 files changed

+89
-66
lines changed

Pipfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[packages]
2-
websockets = "==9.1"
3-
rx = "==3.1.1"
2+
websockets = "==10.3"
3+
reactivex = "==4.0.*"
44
deriv-api = {editable = true, path = "."}
55

66
[dev-packages]

Pipfile.lock

Lines changed: 69 additions & 48 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deriv_api/deriv_api.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
from typing import Dict, Optional, Union, Coroutine
77

88
import websockets
9-
from rx import operators as op
10-
from rx.subject import Subject
11-
from rx import Observable
9+
from reactivex import operators as op
10+
from reactivex.subject import Subject
11+
from reactivex import Observable
1212
from websockets.legacy.client import WebSocketClientProtocol
1313
from websockets.exceptions import ConnectionClosedOK, ConnectionClosed
14+
from websockets.frames import Close
1415

1516
from deriv_api.cache import Cache
1617
from deriv_api.easy_future import EasyFuture
@@ -351,7 +352,7 @@ async def disconnect(self) -> None:
351352
"""
352353
if not self.connected.is_resolved():
353354
return
354-
self.connected = EasyFuture().reject(ConnectionClosedOK(1000, 'Closed by disconnect'))
355+
self.connected = EasyFuture().reject(ConnectionClosedOK(None, Close(1000, 'Closed by disconnect')))
355356
self.connected.exception() # fetch exception to avoid the warning of 'exception never retrieved'
356357
if self.wsconnection_from_inside:
357358
# TODO NEXT reconnect feature

deriv_api/subscription_manager.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from deriv_api.utils import dict_to_cache_key
22
from deriv_api.errors import APIError
3-
from rx import operators as op
4-
from rx.subject import Subject
5-
from rx import Observable
3+
from reactivex import operators as op
4+
from reactivex.subject import Subject
5+
from reactivex import Observable
66
from typing import Optional, Union
77

88
# streams_list is the list of subscriptions msg_types available.

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
author='Deriv Group Services Ltd',
99
author_email='learning+python@deriv.com',
1010
license='MIT',
11-
install_requires=['websockets==9.1', 'rx==3.1.1'],
11+
install_requires=['websockets==10.3', 'reactivex==4.0.*'],
1212
test_suite='tests',
1313
url='https://github.com/binary-com/python-deriv-api',
1414
project_urls={

tests/test_deriv_api.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
import traceback
44
import pytest
55
import pytest_mock
6-
import rx
6+
import reactivex
7+
from websockets.frames import Close
78

89
import deriv_api
910
from deriv_api.errors import APIError, ConstructionError, ResponseError
1011
from deriv_api.easy_future import EasyFuture
11-
from rx.subject import Subject
12-
import rx.operators as op
12+
from reactivex.subject import Subject
13+
import reactivex.operators as op
1314
import pickle
1415
import json
1516
from websockets.exceptions import ConnectionClosedOK, ConnectionClosedError
@@ -362,7 +363,7 @@ async def test_ws_disconnect():
362363
class MockedWs2(MockedWs):
363364
def __init__(self):
364365
self.closed = EasyFuture()
365-
self.exception = ConnectionClosedOK(1000, 'test disconnect')
366+
self.exception = ConnectionClosedOK(Close(1000, 'test disconnect'), None, None)
366367
super().__init__()
367368
async def close(self):
368369
self.closed.resolve(self.exception)
@@ -376,7 +377,7 @@ async def recv(self):
376377

377378
# closed by api
378379
wsconnection = MockedWs2()
379-
wsconnection.exception = ConnectionClosedOK(1000, 'Closed by api')
380+
wsconnection.exception = ConnectionClosedOK(Close(1000, 'Closed by api'), None, None)
380381
api = deriv_api.DerivAPI(connection=wsconnection)
381382
await asyncio.sleep(0.1)
382383
api.wsconnection_from_inside = True
@@ -399,7 +400,7 @@ async def recv(self):
399400
# closed by remote
400401
wsconnection = MockedWs2()
401402
api = deriv_api.DerivAPI(connection=wsconnection)
402-
wsconnection.exception = ConnectionClosedError(1234, 'Closed by remote')
403+
wsconnection.exception = ConnectionClosedError(Close(1234, 'Closed by remote'), None, None)
403404
last_error = api.sanity_errors.pipe(op.first(), op.to_future())
404405
await asyncio.sleep(0.1) # waiting for init finished
405406
await wsconnection.close() # it will set connected as 'Closed by disconnect', and cause MockedWs2 raising `test disconnect`

tests/test_subscription_manager.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import pytest
22

33
from deriv_api.subscription_manager import SubscriptionManager, get_msg_type
4-
from rx.subject import Subject
5-
from rx import Observable
4+
from reactivex.subject import Subject
5+
from reactivex import Observable
66
import asyncio
77
from deriv_api.errors import APIError
88

0 commit comments

Comments
 (0)