From 88320335f21f3fd8aee3ccc036f66db726a523ec Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Sun, 10 Mar 2013 18:07:43 +0200 Subject: Use proper JSON for Order objects --- bitrade.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'bitrade.py') 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) -- cgit v1.3.1