def _worker(self): print_help() while self._running: try: s = yield EXECUTOR.submit(lambda: input('> ')) command, text = self._parse_command(s) handler = self.user_handler(self.stream, self) yield handler.execute_command(command, text) except Exception as e: print_(e)
def print_help(): text = """Синтаксис:\n COMMAND:[arg]\n COMMAND - команда для отправки на сервер, по умолчанию MESS\n \n Список команд:\n LOGIN - авторизация пользователя в системе или смена имени пользователя, arg - имя пользователя\n JOIN - войти в комнату, arg - название комнаты\n LEFT - отписаться от комнаты, arg - название комнаты\n MESS(default) - отправить сообщения, arg - сообщение\n HELP - выводить HELP""" print_(text)
def _notification(self): while self._running: try: message_length = yield self._stream.read_bytes(2) length = struct.unpack("!H", message_length)[0] message = yield self._stream.read_bytes(length) request = Message.unpack(message) handler = self.notification_handler(request, self) handler.process_request() except OSError as e: print_(e) self.stop() except Exception as e: print_(e) self.stop()
def resp(self): if self._request.kwargs['code'] in EXCEPTION_CODES: date = self._request.kwargs['date'] message = self._request.kwargs['message'] print_("[{date}]-[ERROR]: {message}".format(date=date, message=message))
def process_request(self): handler = self._get_handler(self._request.command) if handler is not None: message = handler() if message: print_(message)