Update documentation and code snippets

This commit is contained in:
2025-12-02 11:31:24 +03:00
parent 7c20bf296b
commit eae8cdbb58
14 changed files with 80 additions and 63 deletions
+5 -5
View File
@@ -5,10 +5,10 @@ Dividing Lines
Разделительные линии в ``Argenta`` используются для визуального структурирования вывода и отделения блоков информации друг от друга. Библиотека предлагает два типа линий: статическую и динамическую.
----
-----
``StaticDividingLine``
-----------------------------
----------------------
``StaticDividingLine`` создаёт разделительную линию **фиксированной** длины. Этот тип линии полезен для создания предсказуемого и унифицированного интерфейса.
@@ -26,7 +26,7 @@ Dividing Lines
-----
``DynamicDividingLine``
------------------------------
-----------------------
``DynamicDividingLine`` создаёт линию, длина которой **динамически** подстраивается под самую длинную строку в выводе команды. Это требует перехвата ``stdout``, в результате чего разделители идеально обрамляют выводимый контент.
@@ -45,9 +45,9 @@ Dividing Lines
Обязательно почитайте про нюансы использования динамических линий и перехвата ``stdout`` в :ref:`этом разделе<root_redirect_stdout>`.
-----
Назначение и использование
--------------------------
---------------------------
Выбор между статической и динамической линией зависит от ваших задач.
+1 -1
View File
@@ -67,7 +67,7 @@ string_entity
@property
string_entity(self) -> str
Возвращает строковое представление флага в формате `prefix + name`.
Возвращает строковое представление флага в формате ``prefix + name``.
:return: Строковое представление флага
+2 -2
View File
@@ -51,7 +51,7 @@ string_entity
@property
string_entity(self) -> str
Возвращает строковое представление флага в формате `prefix + name`.
Возвращает строковое представление флага в формате ``prefix + name``.
:return: Строковое представление флага
@@ -70,7 +70,7 @@ __str__
Возвращает строковое представление флага вместе с его значением.
:return: Строка в формате `флаг значение`.
:return: Строка в формате ``флаг значение``.
**Пример использования:**
+4 -4
View File
@@ -83,10 +83,10 @@ add_flag
Добавляет введённый флаг в коллекцию.
:param flag: Флаг типа `InputFlag` для добавления.
:param flag: Флаг типа ``InputFlag`` для добавления.
:return: None.
Метод добавляет флаг в конец списка `flags`. Используется для динамического расширения коллекции.
Метод добавляет флаг в конец списка ``flags``. Используется для динамического расширения коллекции.
.. note::
Этот метод используется редко, так как `InputFlags` обычно создаётся автоматически. Однако он может быть полезен для тестирования или ручного создания коллекций.
@@ -109,7 +109,7 @@ add_flags
Добавляет в коллекцию список введённых флагов.
:param flags: Список флагов типа `InputFlag` для добавления.
:param flags: Список флагов типа ``InputFlag`` для добавления.
:return: None.
Метод расширяет коллекцию, добавляя в неё все флаги из переданного списка. Эффективен для пакетного добавления.
@@ -128,7 +128,7 @@ add_flags
Обработка всех флагов с проверкой статусов
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Пример демонстрирует итерацию по всем введённым флагам с проверкой их статусов валидации:
**Пример использования:**
.. literalinclude:: ../../../code_snippets/input_flags/snippet10.py
:linenos:
+7 -4
View File
@@ -25,8 +25,10 @@ ArgParser
* ``description``: Описание приложения для отображения в справке.
* ``epilog``: Дополнительная информация для отображения в конце справки.
-----
Атрибуты
---------------------------
--------
.. py:attribute:: parsed_argspace: ArgSpace
@@ -39,13 +41,14 @@ ArgParser
-----
-----
Лучшие практики
------------------------
---------------
Использовать атрибут ``parsed_argspace`` рекомендуется только на этапе настройки приложения. В обработчиках лучшей практикой является получение ``ArgSpace`` через DI. Подробнее см. :ref:`здесь <root_dependency_injection>`.
Пример использования
--------------------
**Пример использования:**
.. literalinclude:: ../../../code_snippets/argparser/snippet.py
:language: python
+4 -2
View File
@@ -75,8 +75,8 @@ InputArgument
-----
Примеры испольования
--------------------
Примеры использования
---------------------
``ArgSpace`` используется для доступа к значениям аргументов после запуска приложения. Типичный сценарий включает обработку аргументов через ``ArgParser`` и последующее извлечение значений из ``ArgSpace``.
@@ -87,6 +87,8 @@ InputArgument
Доступ к аргументам из обработчиков осуществляется с помощью ``di``. Подробнее см. :ref:`здесь <root_dependency_injection>`.
**Пример использования:**
.. literalinclude:: ../../../code_snippets/argspace/snippet2.py
:linenos:
+5 -5
View File
@@ -35,8 +35,8 @@ ValueArgument
:param help: Сообщение для справки (``--help``)
:param possible_values: Список допустимых значений
:param default: Значение по умолчанию, если аргумент не передан
:param is_required: Если ``True``, аргумент становится обязательным, если не передать при запуске приложение не запустится
:param is_deprecated: Если ``True``, помечает аргумент как устаревший, если передать при запуске, то будет выведено предупреждение в консоль
:param is_required: Если ``True``, аргумент становится обязательным. Если не передать при запуске, приложение не запустится
:param is_deprecated: Если ``True``, помечает аргумент как устаревший. Если передать при запуске, будет выведено предупреждение в консоль
**Пример использования:**
@@ -115,7 +115,7 @@ InputArgument
Создаёт экземпляр обработанного входного аргумента.
:param name: Имя аргумента
:param value: Значение аргумента. Для ``BooleanArgument`` — **True**, если аргумент передан и **False**, если нет; для **ValueArgument** — введённая строка
:param value: Значение аргумента. Для ``BooleanArgument`` — **True**, если аргумент передан, и **False**, если нет; для ``ValueArgument`` — введённая строка
:param founder_class: Класс-родитель, из которого был создан аргумент (``BooleanArgument`` или ``ValueArgument``)
**Атрибуты:**
@@ -128,8 +128,8 @@ InputArgument
Значение аргумента. Тип зависит от исходного класса:
* Для ``BooleanArgument``: **True**, если аргумент был передан.
* Для ``ValueArgument``: строка с переданным значением или значением по умолчанию
* Для ``BooleanArgument``: **True**, если аргумент был передан
* Для ``ValueArgument``: строка с переданным значением или значением по умолчанию
.. py:attribute:: founder_class
+2 -3
View File
@@ -47,12 +47,11 @@ Orchestrator
Назначение и использование
----------------------------
``Orchestrator`` абстрагирует сложность, связанную с настройкой ``di`` и парсингом стартовых аргументов. Типичный сценарий использования выглядит так.
``Orchestrator`` абстрагирует сложность, связанную с настройкой ``di`` и парсингом стартовых аргументов.
Такой подход разделяет ответственности: ``App`` отвечает за логику интерактивной сессии, а ``Orchestrator`` — за подготовку окружения и запуск приложения.
Пример использования
--------------------
**Пример использования:**
.. literalinclude:: ../../../code_snippets/orchestrator/snippet.py
:language: python