Скрипт 360_text_admin_console.py был полностью модифицирован с использованием библиотеки Rich для создания красивого и интуитивно понятного пользовательского интерфейса.
-
Цветовая кодировка сообщений:
- ✅ Зеленый цвет для успешных операций
- ❌ Красный цвет для ошибок
⚠️ Желтый цвет для предупреждений- ℹ️ Синий цвет для информационных сообщений
- 🎉 Специальные эмодзи для важных событий
-
Красивые меню:
- Панели с рамками и заголовками
- Структурированное отображение опций
- Эмодзи для лучшей навигации
- Все подменю модифицированы
-
Таблицы для данных:
- Структурированное отображение результатов
- Цветовое выделение колонок
- Заголовки таблиц
- Таблицы для атрибутов пользователей и групп
-
Интерактивные промпты:
- Замена
input()наPrompt.ask()с валидацией - Подтверждения через
Confirm.ask() - Выбор из предопределенных вариантов
- Замена
-
Индикаторы прогресса:
- Спиннеры для длительных операций
- Статусные сообщения с анимацией
- Визуальная обратная связь
-
Улучшенное логирование:
- Rich handler для красивых логов
- Цветовое выделение уровней логирования
- Трассировка ошибок с подсветкой
pip install -r requirements.txtНовая зависимость:
rich==13.7.1- для создания красивого UI
🚀 Yandex 360 Text Admin Console 🚀
Version 2.0 with Rich UI
┌─ Main Menu ─────────────────────────────────────┐
│ 🔧 Yandex 360 Text Admin Console │
│ │
│ 1. Work with SCIM userName attribute... │
│ 2. Get user info │
│ 3. Get group info and manage send permission │
│ 4. Work with email settings │
│ 5. 2FA settings │
│ │
│ 0. Exit │
└─────────────────────────────────────────────────┘
🔍 Checking alias: testuser
⚠️ Alias 'testuser' is already in use:
┌─ Alias Check Results for 'testuser' ─┐
│ Type │ User │ ID │ Display Name │
├──────────┼──────────┼──────────────┼──────────────┤
│ Nickname │ testuser │ 113000000001 │ Test User │
│ Alias │ admin │ 113000000002 │ Admin User │
└──────────┴──────────┴──────────────┴──────────────┘
- ✅
Success! User oldname changed to newname. - ❌
User not found. ⚠️ Need confirmation.- 🎉
Operation completed successfully!
main_menu()- главное меню с панелями и эмодзиsubmenu_1()- подменю SCIM с конфигурацией и таблицей параметровsubmenu_2()- подменю информации о пользователяхsubmenu_3()- подменю информации о группахsubmenu_4()- подменю настроек emailsubmenu_5()- подменю настроек 2FAsubsubmenu_30()- подменю управления разрешениями групп
change_SCIM_username_manually()- ручное изменение имени пользователяset_new_loginName_format()- настройка формата логина с панельюcheck_alias_prompt()- проверка доступности алиаса с индикаторомchange_nickname_prompt()- изменение никнейма с панельюfind_users_prompt()- поиск пользователей с улучшенным промптом
check_alias()- проверка алиаса с таблицей результатовsingle_mode()- изменение пользователя с прогресс-индикаторамиshow_user_attributes()- отображение атрибутов пользователя в таблицахsave_group_data_prompt()- отображение данных группы в таблицахshow_mailing_list_permissions()- разрешения группы в таблицахmfa_show_settings_for_user()- настройки 2FA в таблицахforward_rules_show_for_user()- правила пересылки в таблицахsend_perm_set_target_group()- выбор целевой группы с индикаторами
- Замена всех
input("yes/no")наConfirm.ask() update_users_from_SCIM_userName_file()- подтверждение измененийdefault_email_update_from_file()- подтверждение обновления emailsend_perm_grand_all_users()- подтверждение разрешенийmfa_logout_single_user_prompt()- подтверждение выхода пользователейmfa_logout_users_from_file()- подтверждение массового выходаmfa_logout_users_with_no_phone()- подтверждение выхода без телефона
Для демонстрации новых возможностей запустите:
python test_rich_ui.pyЭтот скрипт покажет все новые UI компоненты:
- Стартовый баннер
- Главное меню
- Таблицу конфигурации
- Проверку алиаса с результатами
- Различные статусные сообщения
- Интерактивные промпты
- Все существующие функции сохранены
- Обратная совместимость с существующими конфигурациями
- Логирование в файл остается без изменений
- API вызовы не изменены
- Лучший UX: Интуитивно понятный интерфейс
- Визуальная обратная связь: Пользователь всегда знает, что происходит
- Меньше ошибок: Валидация ввода и четкие подтверждения
- Профессиональный вид: Современный терминальный интерфейс
- Легкость использования: Цветовая кодировка и структурированные меню
├── 360_text_admin_console.py # Основной скрипт с Rich UI
├── requirements.txt # Зависимости (добавлен rich)
├── test_rich_ui.py # Демонстрация UI компонентов
└── README_RICH_UPDATES.md # Этот файл
Автор модификаций: Yandex Code Assistant
Дата: 09/09/2025
Версия Rich: 13.7.1