def verify_execution(self, msg: Message, cmd: Command) -> bool: executer = msg.get_field('Sender') if executer == SERVER_UID and cmd.level <= Command.SERVER: return True elif executer == self.get_uid() and cmd.level <= Command.LOCAL: return True elif cmd.level <= Command.GUEST: return True return False
def distribute_message(self, msg: Message): msg_type = msg.get_field('Type') if msg_type == MESSAGE_MSG_TYPE: self._recv_msg_buffer.append(msg) self.disp_msg(msg) elif msg_type == COMMAND_MSG_TYPE: self._cmd_buffer.append(msg) else: # Unknown type message self._handle_unknow_type_msg(msg)
def disp_msg(self, msg: Message) -> None: sender = self._users.get(msg.get_field('Sender')) nick = '' if sender is not None and self._users.get(sender) is not None: nick = self._users.get(sender) print('[%d]%s: %s' % (sender, nick, msg.get_field('Message'))) # Expected
def _handle_unknow_type_msg(self, msg: Message): if not msg.get_field('Type') in self._unknow_type_msg_storage.keys(): self._unknow_type_msg_storage[msg.get_field('Type')] = [msg] else: self._unknow_type_msg_storage.get(msg.get_field('Type')).append(msg)