From 3db9af75d1bfc3892f3dfba58de44c50b2d4199e Mon Sep 17 00:00:00 2001 From: hiratara Date: Fri, 31 Dec 2010 02:28:10 +0900 Subject: [PATCH] Implemented system messages. --- js/main.js | 4 +++- service.py | 19 ++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/js/main.js b/js/main.js index 889cac6..b4e583a 100644 --- a/js/main.js +++ b/js/main.js @@ -59,7 +59,9 @@ socket.onclose = function () {alert("closed");}; }, "json"); - this.updateMemberList(); + /* Don't update members until /set_name finished + with current (broken) protocol. */ + // this.updateMemberList(); $("#say").submit(function (e) { $.post(room_id + "/say", {saying : $("#saying").val()}); diff --git a/service.py b/service.py index cb4ddff..d22d70e 100644 --- a/service.py +++ b/service.py @@ -7,13 +7,16 @@ import hashlib def delete_member(member, force=False): - deleting_id = member.client_id + name = member.get_name() room = member.parent() member.delete() room_service = RoomService(room) if force: - room_service.say(None, "Deleted %s." % deleting_id) + room_service.say(None, "%s may have gone." % name) + else: + room_service.say(None, "%s exited." % name) + room_service.notify_all({"event" : "member_changed"}) class RoomService(object): @@ -51,7 +54,9 @@ def needs_transaction(): new_member.put() member = new_member - self.notify_all({"event" : "member_changed"}) + # Don't notify until set_name finished + # with current (broken) protocol. + # self.notify_all({"event" : "member_changed"}) return member, token @@ -100,6 +105,14 @@ def set_name(self, user, new_name): member.nickname = new_name member.put() + if old_name: + if old_name != new_name: + self.say(None, "Call %s %s from now." % (old_name, new_name)) + else: + # XXX set_name means entering this room + # in current (broken) protocol + self.say(None, "%s entered." % new_name) + self.notify_all({"event" : "member_changed"}) def ping(self, client_id):