Skip to content

Latest commit

 

History

History
179 lines (142 loc) · 8.73 KB

File metadata and controls

179 lines (142 loc) · 8.73 KB

Yandex 360 Text Admin Console - Rich UI Updates

Обзор изменений

Скрипт 360_text_admin_console.py был полностью модифицирован с использованием библиотеки Rich для создания красивого и интуитивно понятного пользовательского интерфейса.

Основные улучшения

🎨 Визуальные улучшения

  1. Цветовая кодировка сообщений:

    • ✅ Зеленый цвет для успешных операций
    • ❌ Красный цвет для ошибок
    • ⚠️ Желтый цвет для предупреждений
    • ℹ️ Синий цвет для информационных сообщений
    • 🎉 Специальные эмодзи для важных событий
  2. Красивые меню:

    • Панели с рамками и заголовками
    • Структурированное отображение опций
    • Эмодзи для лучшей навигации
    • Все подменю модифицированы
  3. Таблицы для данных:

    • Структурированное отображение результатов
    • Цветовое выделение колонок
    • Заголовки таблиц
    • Таблицы для атрибутов пользователей и групп

🚀 Функциональные улучшения

  1. Интерактивные промпты:

    • Замена input() на Prompt.ask() с валидацией
    • Подтверждения через Confirm.ask()
    • Выбор из предопределенных вариантов
  2. Индикаторы прогресса:

    • Спиннеры для длительных операций
    • Статусные сообщения с анимацией
    • Визуальная обратная связь
  3. Улучшенное логирование:

    • 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() - подменю настроек email
  • submenu_5() - подменю настроек 2FA
  • subsubmenu_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() - подтверждение обновления email
  • send_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 компоненты:

  1. Стартовый баннер
  2. Главное меню
  3. Таблицу конфигурации
  4. Проверку алиаса с результатами
  5. Различные статусные сообщения
  6. Интерактивные промпты

Совместимость

  • Все существующие функции сохранены
  • Обратная совместимость с существующими конфигурациями
  • Логирование в файл остается без изменений
  • API вызовы не изменены

Преимущества

  1. Лучший UX: Интуитивно понятный интерфейс
  2. Визуальная обратная связь: Пользователь всегда знает, что происходит
  3. Меньше ошибок: Валидация ввода и четкие подтверждения
  4. Профессиональный вид: Современный терминальный интерфейс
  5. Легкость использования: Цветовая кодировка и структурированные меню

Структура файлов

├── 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