def authenticate(user_data): global client_list # не люблю так делать, переделаю когда будем писать в БД try: client_list.update(user_data) for k, v in user_data.items(): logger.info(f'{k}, Пользователь {v} вошел в чат') return k, 200, f'Пользователь {v} вошел в чат' except: logger.error(f'{k}, Ошибка запроса аутентификации') return k, 400, 'Ошибка запроса аутентификации'
def leave(user_data): global client_list global client try: for k, v in user_data.items(): client_list.pop(k) logger.info(f'{k}, Пользователь {v} вышел из чата') yield k, 200, f'Пользователь {v} вышел из чата' client.close() except: logger.error(f'{k}, Ошибка запроса выхода из чата') return k, 400, f'Ошибка запроса выхода из чата'
def request(data): print(data) if 'action' in data.keys(): action = data.get('action') if action == 'authenticate': egg = data.get('user') logger.info(f'Запуск функции authenticate с запросом {egg}') responce(authenticate(egg)) if action == 'leave': egg = data.get('user') logger.info(f'Запуск функции leave с запросом {egg}') responce(leave(data.get('user'))) if action == 'get_user_list': responce([None, 500, 'Сервис в разработке']) if action == 'send_message': responce([None, 500, 'Сервис в разработке']) else: logger.error(f'Ошибка команды серверу: {data}')