def process_cmd(self, request, content): cmd_parts = content.split(" ") cmd_name = cmd_parts[0][1:] cmd_arg = content[len(cmd_name) + 2:] processor = self.chat_cmd_map[cmd_name] if cmd_name in self.chat_cmd_map else None if not processor: return None, u"그런 명령어는 존재하지 않습니다. /man 을 참조하세요." speaker, message, err = processor.process(request, cmd_arg) if not err: chat = create_chat(request, message, speaker) return chat, None else: return None, err
def process_cmd(self, request, content): cmd_parts = content.split(" ") cmd_name = cmd_parts[0][1:] cmd_arg = content[len(cmd_name) + 2:] processor = self.chat_cmd_map[ cmd_name] if cmd_name in self.chat_cmd_map else None if not processor: return None, u"그런 명령어는 존재하지 않습니다. /man 을 참조하세요." speaker, message, err = processor.process(request, cmd_arg) if not err: chat = create_chat(request, message, speaker) return chat, None else: return None, err
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"