This commit is contained in:
2025-11-02 00:17:28 +03:00
parent acddb1fbc6
commit df7313912c
26 changed files with 501 additions and 566 deletions
+16 -16
View File
@@ -3,9 +3,9 @@
ArgSpace
==========
Объект ``ArgSpace`` является контейнером для хранения и управления распаршенными аргументами командной строки в приложении ``Argenta``. Его основная задача — предоставить удобный интерфейс для доступа к значениям аргументов, переданных при запуске приложения.
``ArgSpace`` — это контейнер для хранения и управления обработанными аргументами командной строки. Его основная задача — предоставить удобный интерфейс для доступа к значениям, переданным при запуске приложения.
``ArgSpace`` автоматически создается после парсинга аргументов через ``ArgParser`` и содержит коллекцию объектов ``InputArgument``, представляющих собой финальные значения всех переданных параметров командной строки.
``ArgSpace`` создаётся автоматически после обработки аргументов с помощью `ArgParser` и содержит коллекцию объектов `InputArgument`.
-----
@@ -17,15 +17,15 @@ ArgSpace
__init__(self, all_arguments: list[InputArgument]) -> None
Создает новое пространство аргументов.
Создаёт новое пространство аргументов.
* ``all_arguments`` : Список распаршенных аргументов в виде объектов ``InputArgument``. Каждый элемент содержит имя, значение и тип исходного аргумента.
* ``all_arguments``: Список обработанных аргументов в виде объектов `InputArgument`. Каждый элемент содержит имя, значение и тип исходного аргумента.
**Атрибуты:**
.. py:attribute:: all_arguments
Список всех распаршенных аргументов типа ``InputArgument``. Содержит все аргументы, переданные при запуске приложения, включая значения по умолчанию для не указанных параметров.
Список всех обработанных аргументов типа `InputArgument`, включая значения по умолчанию для не указанных параметров.
-----
@@ -40,12 +40,12 @@ get_by_name
get_by_name(self, name: str) -> InputArgument | None
Возвращает аргумент по его имени.
Возвращает аргумент по имени.
:param name: Имя искомого аргумента
:return: Объект ``InputArgument`` с указанным именем или ``None``, если аргумент не найден
:param name: Имя искомого аргумента.
:return: Объект `InputArgument` или `None`, если аргумент не найден.
Метод выполняет линейный поиск по списку ``all_arguments`` и возвращает аргумент с соответствующим именем. Если аргумент не найден, возвращается ``None``.
Метод выполняет линейный поиск по списку `all_arguments`. Если аргумент не найден, возвращается `None`.
**Пример использования:**
@@ -76,12 +76,12 @@ get_by_type
get_by_type(self, arg_type: type[BaseArgument]) -> list[InputArgument] | list[Never]
Получает все аргументы определенного типа.
Возвращает все аргументы определённого типа.
:param arg_type: Тип аргумента (``BooleanArgument`` или ``ValueArgument``)
:return: Список аргументов указанного типа или пустой список, если аргументы не найдены
:param arg_type: Тип аргумента (`BooleanArgument` или `ValueArgument`).
:return: Список аргументов указанного типа или пустой список.
Метод фильтрует ``all_arguments`` по атрибуту ``founder_class`` каждого ``InputArgument`` и возвращает только те аргументы, которые были созданы из указанного типа.
Метод фильтрует `all_arguments` по атрибуту `founder_class` и возвращает аргументы, созданные из указанного типа.
**Пример использования:**
@@ -94,21 +94,21 @@ InputArgument
-------------
.. seealso ::
Документация по ``InputArgument`` находится :ref:`тут <root_api_orchestrator_arguments_inputargument>`
Документация по ``InputArgument`` находится :ref:`здесь <root_api_orchestrator_arguments_inputargument>`.
-----
Примеры испольования
--------------------
``ArgSpace`` используется для доступа к значениям аргументов после запуска приложения. Типичный сценарий работы включает парсинг аргументов через ``ArgParser`` и последующее извлечение значений из ``ArgSpace``.
`ArgSpace` используется для доступа к значениям аргументов после запуска приложения. Типичный сценарий включает обработку аргументов через `ArgParser` и последующее извлечение значений из `ArgSpace`.
**Полный пример:**
.. literalinclude:: ../../../code_snippets/argspace/snippet.py
:linenos:
Доступ к аргументам из хэндлеров осуществляется с помощью ``di``, подробнее :ref:`тут <root_dependency_injection>`.
Доступ к аргументам из обработчиков осуществляется с помощью DI. Подробнее см. :ref:`здесь <root_dependency_injection>`.
.. literalinclude:: ../../../code_snippets/argspace/snippet2.py
:linenos: