Dividing Lines¶
Разделительные линии в Argenta используются для визуального структурирования вывода и отделения блоков информации друг от друга. Библиотека предлагает два типа линий: статическую и динамическую.
StaticDividingLine¶
StaticDividingLine создаёт разделительную линию фиксированной длины. Этот тип линии полезен для создания предсказуемого и унифицированного интерфейса.
1 def __init__(self, unit_part: str = "-", *,
2 length: int = 25) -> None
Создаёт экземпляр статической разделительной линии.
unit_part: Символ для построения линии (учитывается только первый символ). По умолчанию:-.length: Фиксированная длина линии. По умолчанию:25.
DynamicDividingLine¶
DynamicDividingLine создаёт линию, длина которой динамически подстраивается под самую длинную строку в выводе команды. Это требует перехвата stdout, в результате чего разделители идеально обрамляют выводимый контент.
1 __init__(self, unit_part: str = "-") -> None
Создаёт экземпляр динамической разделительной линии.
unit_part: Символ для построения линии. По умолчанию:-.
Длина вычисляется автоматически и не задаётся при инициализации.
Предупреждение
Обязательно почитайте про нюансы использования динамических линий и перехвата stdout в этом разделе.
Назначение и использование¶
Выбор между статической и динамической линией зависит от ваших задач.
StaticDividingLine идеально подходит, если:
Вам нужен строгий и консистентный дизайн.
Вы используете роутеры с отключённым перехватом
stdout(disable_redirect_stdout=True), где динамическое вычисление длины невозможно.
DynamicDividingLine (поведение по умолчанию) — предпочтительный выбор, если:
Вы хотите, чтобы интерфейс был адаптивным.
Вывод ваших команд имеет разную длину.
В ваших обработчиках нет интерактивных операций ввода (например,
input()).
Тип разделителя для всего приложения задаётся при инициализации App через параметр dividing_line.