33from __future__ import print_function
44from __future__ import unicode_literals
55
6+ import logging
7+
68import socketio
79
810from pubsub import pub
911
1012from .patch_json import patch
1113
1214class 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