#ARC-22 update testapp.py

remotes/origin/setup
Mukhtar 10 years ago
parent f3564ee943
commit 5797457346
  1. 25
      chat/testapp.py

@ -56,10 +56,8 @@ class TutorialHandler(websocket.WebSocketHandler):
waiters = set()
def open(self, *args, **kwargs):
self.waiters.add(self)
# print(dir(self))
print(self.patch)
# print(self.waiters)
self.user_id = kwargs.get('user_id',1)
self.waiters.add((self.user_id, self))
# @gen.coroutine
def on_message(self, message):
@ -70,13 +68,16 @@ class TutorialHandler(websocket.WebSocketHandler):
if parsed['format_type'] == 'add_message_contact':
self.add_message_for_contact(parsed['data']['chat_message'], parsed['data']['sender_id'],
parsed['data']['recipent_id'])
elif parsed['format_type'] == 'add_message_order':
self.add_message_for_order(parsed['data']['chat_message'], parsed['data']['sender_id'],
parsed['data']['recipent_id'], parsed['data']['order_id'])
elif parsed['format_type'] == 'order_message':
self.get_messages_from_order_chat(parsed['order_id'])
else:
self.get_messages_from_order(parsed['user_id'])
def on_close(self):
self.waiters.remove(self)
self.waiters.remove((self.user_id, self))
# insert_sql = "INSERT INTO chat_message (id,text,created,order_id, user_id) VALUES (DEFAULT,'{0}',NOW(),6,4)".format(str(parsed['message']))
# yield self.db.execute(insert_sql)
@ -91,9 +92,19 @@ class TutorialHandler(websocket.WebSocketHandler):
insert_sql = "INSERT INTO chat_message (id,text,created,order_id, sender_id,recipent_id, private_type) " \
"VALUES (DEFAULT,'{0}',NOW(),NULL,{1},{2},'true')".format(message, sender_id, recipent_id)
yield self.db.execute(insert_sql)
for waiter in self.waiters:
waiters = tuple(w for c, w in self.waiters if c == recipent_id)
for waiter in waiters:
waiter.write_message({'msg': message, 'answer_type': 'add_contact'})
@gen.coroutine
def add_message_for_order(self, message, sender_id,recipent_id, order_id):
insert_sql = "INSERT INTO chat_message (id,text,created,order_id, sender_id,recipent_id, private_type) " \
"VALUES (DEFAULT,'{0}',NOW(),{1},{2},{3},'false')".format(message,order_id, sender_id, recipent_id)
yield self.db.execute(insert_sql)
waiters = tuple(w for c, w in self.waiters if c == recipent_id)
for waiter in waiters:
waiter.write_message({'msg': message, 'answer_type': 'add_order'})
@gen.coroutine
def get_messages_from_order(self, order_id):
sql = "SELECT text FROM chat_message WHERE recipent_id=" + order_id
@ -119,7 +130,7 @@ class TutorialHandler(websocket.WebSocketHandler):
class Application(web.Application):
def __init__(self):
handlers = [
(r"/chat", TutorialHandler),
(r"/chat/(?P<user_id>\d+)/", TutorialHandler),
(r"/test", TestHandler),
]
super().__init__(handlers=handlers, **settings)

Loading…
Cancel
Save