def create_presence(account_name="Guest"): """ Сформировать presence-сообщение :param account_name: Имя пользователя :return: Словарь сообщения """ # Если имя не строка if not isinstance(account_name, str): # Генерируем ошибку передан неверный тип raise TypeError # Если длина имени пользователя больше 25 символов if len(account_name) > 25: # генерируем нашу ошибку имя пользователя слишком длинное raise UsernameToLongError(account_name) # если все хорошо, то # формируем словарь сообщения message = { ACTION: PRESENCE, TIME: time.time(), USER: { ACCOUNT_NAME: account_name } } # возвращаем сообщение в виде словаря return message
def create_presence(self): """ Формируем presence-сообщение :param account_name: Имя пользователя :return: Словарь сообщения tests: pytest """ # Если имя не строка if not isinstance(self.login, str): logger.error( f'Введённый account_name: { self.login } - не является строкой.' ) raise TypeError # Если длина имени пользователя больше 20 символов if len(self.login) >= 20: logger.error( f'Длина account_name: { self.login } - превышает разрешённую. Максимальная длина имени 20 символов.' ) raise UsernameToLongError(self.login) # Формируем словарь сообщения message = { ACTION: PRESENCE, TIME: time.time(), USER: { LOGIN: self.login, PASSWORD: self.password } } logger.debug('Формируем presence-message.') return message
def create_presence(self): # Если имя не строка if not isinstance(self.login, str): # Генерируем ошибку передан неверный тип raise TypeError # Если длина имени пользователя больше 25 символов if len(self.login) > 25: # генерируем нашу ошибку имя пользователя слишком длинное raise UsernameToLongError(self.login) # формируем словарь сообщения message = { ACTION: PRESENCE, TIME: time.time(), USER: { ACCOUNT_NAME: self.login, 'status': 'Yep, I am here!' } } print(message) return message
def create_add_contact(self, nickname): # Если имя не строка if not isinstance(nickname, str): # Генерируем ошибку передан неверный тип raise TypeError # Если длина имени пользователя больше 25 символов if len(nickname) > 25: # генерируем нашу ошибку имя пользователя слишком длинное raise UsernameToLongError(nickname) # формируем словарь сообщения try: message = { ACTION: 'add_contact', TIME: time.time(), ACCOUNT_NAME: self.login, USER_ID: nickname } send_message(self.sock, message) rsp = self.request_queue.get() print(rsp) return rsp except Exception as e: print(e)