class ChatMessageStream(YuzukiResource): def __init__(self): YuzukiResource.__init__(self) self.request_pool = list() self.cmd_manager = ChatCmdManager() @need_anybody_permission def render_GET(self, request): self.request_pool.append(request) return NOT_DONE_YET @need_anybody_permission def render_POST(self, request): content = request.get_argument("content") if content.startswith("/"): chat, err = self.cmd_manager.process_cmd(request, content) if err: request.setResponseCode(BAD_REQUEST) return err else: chat = create_chat(request, content) request.dbsession.add(chat) request.dbsession.commit() for req in self.request_pool: try: req.write("message coming") req.finish() except: pass self.request_pool = [] return "chat posted"
def __init__(self): YuzukiResource.__init__(self) self.request_pool = list() self.cmd_manager = ChatCmdManager()