Архитектурная роль
Модуль 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): секция лота в конфиге автовыдачи. - Взаимодействие: Нет взаимодействий с другими модулями.