summaryrefslogtreecommitdiff
path: root/bitrade.py
diff options
context:
space:
mode:
authorYuval Adam <yuv.adm@gmail.com>2013-03-10 18:07:43 +0200
committerYuval Adam <yuv.adm@gmail.com>2013-03-10 18:07:43 +0200
commit88320335f21f3fd8aee3ccc036f66db726a523ec (patch)
tree306886a2fbe5899a44e95d14c7242581f942f5bd /bitrade.py
parentfd1efa2a0de306847cd2dd9f8b709e9f46f2ad0d (diff)
Use proper JSON for Order objects
Diffstat (limited to 'bitrade.py')
-rw-r--r--bitrade.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/bitrade.py b/bitrade.py
index 75dc3c5..ee4fd19 100644
--- a/bitrade.py
+++ b/bitrade.py
@@ -1,4 +1,5 @@
# encoding: utf8
+import json
import logging
import os
@@ -16,15 +17,15 @@ c = tornadoredis.Client()
c.connect()
-class Order:
- def __init__(self, msg):
+class Order(object):
+ def __init__(self, data):
self.id = uuid4().hex
self.time = str(int(time() * 1000)) # ms resolution
- self.client, self.type, self.price, self.amount = msg.split('|')
+ for key in data:
+ setattr(self, key, data[key])
def __unicode__(self):
- fields = [self.id, self.time, self.client, self.type, self.price, self.amount]
- return '|'.join(fields)
+ return json.dumps(self.__dict__)
class MainHandler(tornado.web.RequestHandler):
@@ -46,7 +47,7 @@ class OrderHandler(tornado.websocket.WebSocketHandler):
@tornado.gen.engine
def on_message(self, msg):
- order = Order(msg)
+ order = Order(json.loads(msg))
with c.pipeline() as pipe:
order_str = unicode(order)
pipe.zadd('order_log', order.time, order_str)