Apply refactoring with new standards in examples/websockets/*.py demos.

This commit is contained in:
Davide Casale
2022-12-16 18:42:59 +01:00
parent 0a53ab7f7e
commit ea3eefd32c
3 changed files with 12 additions and 8 deletions

View File

@@ -1,13 +1,15 @@
from collections import OrderedDict from collections import OrderedDict
from typing import List
from bfxapi import Client, Constants from bfxapi import Client, Constants
from bfxapi.websocket import BfxWebsocketClient from bfxapi.websocket import BfxWebsocketClient
from bfxapi.websocket.enums import Channels, Errors from bfxapi.websocket.enums import Channels, Errors
from bfxapi.websocket.typings import Subscriptions, TradingPairBooks, TradingPairBook from bfxapi.websocket.typings import Subscriptions, TradingPairBook
class OrderBook(object): class OrderBook(object):
def __init__(self, symbols: list[str]): def __init__(self, symbols: List[str]):
self.__order_book = { self.__order_book = {
symbol: { symbol: {
"bids": OrderedDict(), "asks": OrderedDict() "bids": OrderedDict(), "asks": OrderedDict()
@@ -50,7 +52,7 @@ def on_subscribed(subscription):
print(f"Subscription successful for pair <{subscription['pair']}>") print(f"Subscription successful for pair <{subscription['pair']}>")
@bfx.wss.on("t_book_snapshot") @bfx.wss.on("t_book_snapshot")
def on_t_book_snapshot(subscription: Subscriptions.Book, snapshot: TradingPairBooks): def on_t_book_snapshot(subscription: Subscriptions.Book, snapshot: List[TradingPairBook]):
for data in snapshot: for data in snapshot:
order_book.update(subscription["symbol"], data) order_book.update(subscription["symbol"], data)

View File

@@ -1,13 +1,15 @@
from collections import OrderedDict from collections import OrderedDict
from typing import List
from bfxapi import Client, Constants from bfxapi import Client, Constants
from bfxapi.websocket import BfxWebsocketClient from bfxapi.websocket import BfxWebsocketClient
from bfxapi.websocket.enums import Channels, Errors from bfxapi.websocket.enums import Channels, Errors
from bfxapi.websocket.typings import Subscriptions, TradingPairRawBooks, TradingPairRawBook from bfxapi.websocket.typings import Subscriptions, TradingPairRawBook
class RawOrderBook(object): class RawOrderBook(object):
def __init__(self, symbols: list[str]): def __init__(self, symbols: List[str]):
self.__raw_order_book = { self.__raw_order_book = {
symbol: { symbol: {
"bids": OrderedDict(), "asks": OrderedDict() "bids": OrderedDict(), "asks": OrderedDict()
@@ -50,7 +52,7 @@ def on_subscribed(subscription):
print(f"Subscription successful for pair <{subscription['pair']}>") print(f"Subscription successful for pair <{subscription['pair']}>")
@bfx.wss.on("t_raw_book_snapshot") @bfx.wss.on("t_raw_book_snapshot")
def on_t_raw_book_snapshot(subscription: Subscriptions.Book, snapshot: TradingPairRawBooks): def on_t_raw_book_snapshot(subscription: Subscriptions.Book, snapshot: List[TradingPairRawBook]):
for data in snapshot: for data in snapshot:
raw_order_book.update(subscription["symbol"], data) raw_order_book.update(subscription["symbol"], data)

View File

@@ -1,14 +1,14 @@
import asyncio import asyncio
from bfxapi import Client, Constants from bfxapi import Client, Constants
from bfxapi.websocket import Channels from bfxapi.websocket.enums import Channels
from bfxapi.websocket.typings import Subscriptions, TradingPairTicker from bfxapi.websocket.typings import Subscriptions, TradingPairTicker
bfx = Client(WSS_HOST=Constants.PUB_WSS_HOST) bfx = Client(WSS_HOST=Constants.PUB_WSS_HOST)
@bfx.wss.on("t_ticker_update") @bfx.wss.on("t_ticker_update")
def on_t_ticker_update(subscription: Subscriptions.TradingPairsTicker, data: TradingPairTicker): def on_t_ticker_update(subscription: Subscriptions.TradingPairsTicker, data: TradingPairTicker):
print(f"Subscription channel ID: {subscription['chanId']}") print(f"Subscription with channel ID: {subscription['chanId']}")
print(f"Data: {data}") print(f"Data: {data}")