Архитектурная роль

Модуль utils предоставляет набор утилитарных функций и классов, которые используются для управления настройками, форматирования текста и генерации информации для пользователей. Он обеспечивает функциональность для работы с авторизованными пользователями, настройками уведомлений и шаблонами ответов. Также модуль содержит функции для форматирования текста и генерации HTML-разметки.

Компоненты и логика

NotificationTypes

  • Назначение: Класс с типами уведомлений Telegram.
  • Аргументы и связи:
  • Нет аргументов.
  • Взаимодействие: Нет взаимодействий с другими модулями.

load_authorized_users

  • Назначение: Загружает авторизованных пользователей из кэша.
  • Аргументы и связи:
  • Нет аргументов.
  • Взаимодействие: Нет взаимодействий с другими модулями.

load_notification_settings

  • Назначение: Загружает настройки уведомлений Telegram из кэша.
  • Аргументы и связи:
  • Нет аргументов.
  • Взаимодействие: Нет взаимодействий с другими модулями.

load_answer_templates

  • Назначение: Загружает шаблоны ответов из кэша.
  • Аргументы и связи:
  • Нет аргументов.
  • Взаимодействие: Нет взаимодействий с другими модулями.

save_authorized_users

  • Назначение: Сохраняет ID авторизированных пользователей.
  • Аргументы и связи:
  • users (dict[int, dict]): список ID авторизированных пользователей.
  • Взаимодействие: Нет взаимодействий с другими модулями.

save_notification_settings

  • Назначение: Сохраняет настройки Telegram-уведомлений.
  • Аргументы и связи:
  • settings (dict): настройки Telegram-уведомлений.
  • Взаимодействие: Нет взаимодействий с другими модулями.

save_answer_templates

  • Назначение: Сохраняет шаблоны ответов.
  • Аргументы и связи:
  • templates (list[str]): список шаблонов.
  • Взаимодействие: Нет взаимодействий с другими модулями.

escape

  • Назначение: Форматирует текст под HTML разметку.
  • Аргументы и связи:
  • text (str): текст.
  • Взаимодействие: Нет взаимодействий с другими модулями.

has_brand_mark

  • Назначение: Проверяет, содержит ли watermark какую-нибудь форму названия.
  • Аргументы и связи:
  • watermark (str): текст для проверки.
  • Взаимодействие: Нет взаимодействий с другими модулями.

split_by_limit

  • Назначение: Разделяет список строк на части по заданному лимиту.
  • Аргументы и связи:
  • list_of_str (list[str]): список строк.
  • limit (int): лимит для разделения (по умолчанию 4096).
  • Взаимодействие: Нет взаимодействий с другими модулями.

bool_to_text

  • Назначение: Преобразует булево значение в текстовое представление.
  • Аргументы и связи:
  • value (bool | int | str | None): булево значение.
  • on (str): текст для значения True (по умолчанию ’🟢’).
  • off (str): текст для значения False (по умолчанию ’🔴’).
  • Взаимодействие: Нет взаимодействий с другими модулями.

get_offset

  • Назначение: Возвращает смещение списка элементов таким образом, чтобы элемент с индексом element_index оказался в конце списка.
  • Аргументы и связи:
  • element_index (int): индекс элемента, который должен оказаться в конце.
  • max_elements_on_page (int): максимальное количество элементов на одной странице.
  • Взаимодействие: Нет взаимодействий с другими модулями.

add_navigation_buttons

  • Назначение: Добавляет к переданной клавиатуре кнопки следующей / предыдущей страницы.
  • Аргументы и связи:
  • keyboard_obj (K): экземпляр клавиатуры.
  • curr_offset (int): текущее смещение списка.
  • max_elements_on_page (int): максимальное количество элементов на одной странице.
  • elements_on_page (int): текущее количество элементов на странице.
  • elements_amount (int): общее количество элементов.
  • callback_text (str): текст callback’а.
  • extra (list | None): дополнительные данные (будут перечислены через :).
  • Взаимодействие: Нет взаимодействий с другими модулями.

generate_profile_text

  • Назначение: Генерирует текст с информацией об аккаунте.
  • Аргументы и связи:
  • cardinal (Cardinal): экземпляр класса Cardinal.
  • Взаимодействие: Вызывает Cardinal.

generate_lot_info_text

  • Назначение: Генерирует текст с информацией о лоте.
  • Аргументы и связи:
  • lot_obj (configparser.SectionProxy): секция лота в конфиге автовыдачи.
  • Взаимодействие: Нет взаимодействий с другими модулями.

Граф зависимостей