Skip to content

Commit 691351f

Browse files
committed
debug supported in sockets, logs all deltas and tx received in socket.log file
1 parent 55cb5d2 commit 691351f

File tree

3 files changed

+42
-5
lines changed

3 files changed

+42
-5
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,5 +123,6 @@ cryptomarket/exchange/client.pyc
123123
cryptomarket/.DS_Store
124124

125125
test.py
126+
socket.log
126127

127128
*/__pycache__/*

cryptomarket/exchange/client.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from __future__ import unicode_literals
66

77
import json
8-
import logging
98
import requests
109
import time
1110
import warnings
@@ -29,7 +28,7 @@ class Client(object):
2928
BASE_API_URI = 'https://api.cryptomkt.com/'
3029
API_VERSION = 'v2'
3130

32-
def __init__(self, api_key, api_secret, base_api_uri=None, api_version=None):
31+
def __init__(self, api_key, api_secret, base_api_uri=None, api_version=None, debug=False):
3332
if not api_key:
3433
raise ValueError('Missing `api_key`.')
3534
if not api_secret:
@@ -528,11 +527,11 @@ def get_auth_socket(self):
528527
return self._make_api_object(response, APIObject)
529528

530529

531-
def get_socket(self):
530+
def get_socket(self, debug=False):
532531
"""returns a socket connection with cryptomkt.
533532
"""
534533
if self.socket is None:
535534
auth = self.get_auth_socket()
536535
del auth['verify']
537-
self.socket = Socket(auth)
536+
self.socket = Socket(auth, debug=debug)
538537
return self.socket

cryptomarket/exchange/socket.py

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,27 @@
33
from __future__ import print_function
44
from __future__ import unicode_literals
55

6+
import logging
7+
68
import socketio
79

810
from pubsub import pub
911

1012
from .patch_json import patch
1113

1214
class Socket(object):
13-
def __init__(self, socketids):
15+
def __init__(self, socketids, debug=False):
16+
logger = logging.getLogger(__name__)
17+
logger.setLevel(logging.DEBUG)
18+
f_handler = logging.FileHandler('socket.log')
19+
if debug:
20+
f_handler.setLevel(logging.DEBUG)
21+
f_format = logging.Formatter('%(asctime)s - %(message)s')
22+
#f_format.datefmt = '%d-%b-%y %H:%M:%S'
23+
f_handler.setFormatter(f_format)
24+
logger.addHandler(f_handler)
25+
self.logger = logger
26+
1427
self.url_worker = 'https://worker.cryptomkt.com'
1528
self.currencies_data = dict()
1629
self.balance_data = dict()
@@ -33,16 +46,21 @@ def connect():
3346
def disconnect():
3447
print('disconnected from server')
3548

49+
self.logger.debug('connecting to cryptomarket')
3650
sio.connect(self.url_worker)
51+
52+
self.logger.debug('authenticating')
3753
sio.emit('user-auth', socketids)
3854

3955

4056
@sio.on('currencies')
4157
def currencies_handler(data):
58+
self.logger.debug('currencies recieved: {}'.format(data))
4259
self.currencies_data = data
4360

4461
@sio.on('currencies-delta')
4562
def currencies_delta_handler(delta):
63+
self.logger.debug('delta-currencies recieved: {}'.format(delta))
4664
if self.currencies_data['to_tx'] != delta['from_tx']:
4765
sio.emit('currencies')
4866
return
@@ -53,6 +71,7 @@ def currencies_delta_handler(delta):
5371

5472
@sio.on('balance')
5573
def balance_handler(data):
74+
self.logger.debug('balance recieved: {}'.format(data))
5675
for _, value in data['data'].items():
5776
currency = value['currency']
5877
currency_data = self.currencies_data['data'][currency]
@@ -73,6 +92,7 @@ def balance_handler(data):
7392

7493
@sio.on('balance-delta')
7594
def balance_delta_handler(deltas):
95+
self.logger.debug('balance-delta recieved: {}'.format(deltas))
7696
for delta in deltas:
7797
if self.balance_data['to_tx'] != delta['from_tx']:
7898
sio.emit('balance')
@@ -99,11 +119,13 @@ def balance_delta_handler(deltas):
99119

100120
@sio.on('open-orders')
101121
def open_orders_handler(data):
122+
self.logger.debug('open-orders recieved: {}'.format(data))
102123
self.open_orders_data = data
103124
pub.sendMessage('open-orders', data=data['data'].copy())
104125

105126
@sio.on('open-orders-delta')
106127
def open_orders_delta_handler(deltas):
128+
self.logger.debug('open-orders-delta recieved: {}'.format(deltas))
107129
for delta in deltas:
108130
if self.open_orders_data['to_tx'] != delta['from_tx']:
109131
sio.emit('open-orders')
@@ -119,11 +141,13 @@ def open_orders_delta_handler(deltas):
119141

120142
@sio.on('historical-orders')
121143
def historical_orders_handler(data):
144+
self.logger.debug('historical-orders recieved: {}'.format(data))
122145
self.historical_orders_data = data
123146
pub.sendMessage('historical-orders', data=data['data'].copy())
124147

125148
@sio.on('historical-orders-delta')
126149
def historical_orders_delta_handler(deltas):
150+
self.logger.debug('historical-orders-delta recieved: {}'.format(deltas))
127151
for delta in deltas:
128152
if self.historical_orders_data['to_tx'] != delta['from_tx']:
129153
sio.emit('historical-orders')
@@ -139,11 +163,13 @@ def historical_orders_delta_handler(deltas):
139163

140164
@sio.on('operated')
141165
def operated_handler(data):
166+
self.logger.debug('operated recieved: {}'.format(data))
142167
self.operated_data = data
143168
pub.sendMessage('operated', data=data['data'].copy())
144169

145170
@sio.on('operated-delta')
146171
def operated_delta_handler(deltas):
172+
self.logger.debug('operated-delta recieved: {}'.format(deltas))
147173
for delta in deltas:
148174
if self.operated_data['to_tx'] != delta['from_tx']:
149175
sio.emit('operated')
@@ -159,6 +185,7 @@ def operated_delta_handler(deltas):
159185

160186
@sio.on('open-book')
161187
def open_book_handler(data):
188+
self.logger.debug('open-book recieved: {}'.format(data))
162189
stock_id = data['stock_id']
163190
self.open_book_data.update({stock_id:data})
164191
pub.sendMessage(
@@ -172,6 +199,7 @@ def open_book_handler(data):
172199

173200
@sio.on('open-book-delta')
174201
def open_book_delta_handler(delta):
202+
self.logger.debug('open-book-delta recieved: {}'.format(delta))
175203
stock_id = delta['stock_id']
176204
if (stock_id not in self.open_book_data
177205
or self.open_book_data[stock_id]['to_tx'] != delta['from_tx']):
@@ -194,6 +222,7 @@ def open_book_delta_handler(delta):
194222

195223
@sio.on('historical-book')
196224
def historical_book_handler(data):
225+
self.logger.debug('historical-book recieved: {}'.format(data))
197226
stock_id = data['stock_id']
198227
self.historical_book_data.update({stock_id:data})
199228
pub.sendMessage(
@@ -203,6 +232,7 @@ def historical_book_handler(data):
203232

204233
@sio.on('historical-book-delta')
205234
def historical_book_delta_handler(delta):
235+
self.logger.debug('historical-book-delta recieved: {}'.format(delta))
206236
stock_id = delta['stock_id']
207237
if (stock_id not in self.historical_book_data
208238
or self.historical_book_data[stock_id]['to_tx'] != delta['from_tx']):
@@ -221,6 +251,7 @@ def historical_book_delta_handler(delta):
221251

222252
@sio.on('candles')
223253
def candles_handler(data):
254+
self.logger.debug('candles recieved: {}'.format(data))
224255
stock_id = data['stock_id']
225256
self.candles_data.update({stock_id:data})
226257

@@ -236,6 +267,7 @@ def candles_handler(data):
236267

237268
@sio.on('candles-delta')
238269
def candles_delta_handler(delta):
270+
self.logger.debug('candles-delta recieved: {}'.format(delta))
239271
stock_id = delta['stock_id']
240272
if (stock_id not in self.candles_data
241273
or self.candles_data[stock_id]['to_tx'] != delta['from_tx']):
@@ -257,11 +289,13 @@ def candles_delta_handler(delta):
257289

258290
@sio.on('board')
259291
def board_handler(data):
292+
self.logger.debug('board recieved: {}'.format(data))
260293
self.board_data = data
261294
pub.sendMessage('ticker', data=data.copy())
262295

263296
@sio.on('board-delta')
264297
def board_delta_handler(delta):
298+
self.logger.debug('board-delta recieved: {}'.format(delta))
265299
if self.board_data['to_tx'] != delta['from_tx']:
266300
sio.emit('board')
267301
return
@@ -273,12 +307,15 @@ def board_delta_handler(delta):
273307
self.sio = sio
274308

275309
def subscribe(self, *market_pairs):
310+
self.logger.debug('starting subscriptions: {}'.format(market_pairs))
276311
for pair in market_pairs:
277312
self.sio.emit('subscribe', pair)
278313

279314
def unsubscribe(self, *market_pairs):
315+
self.logger.debug('ending subscriptions: {}'.format(market_pairs))
280316
for pair in market_pairs:
281317
self.sio.emit('unsubscribe', pair)
282318

283319
def on(self, event, handler):
320+
self.logger.debug('subscribing to event: {}'.format(event))
284321
pub.subscribe(handler, event)

0 commit comments

Comments
 (0)