Files
Argenta/docs/root/api/command/flags.rst
kolo ce7e24b924 feat: impl docs (#4)
The entire public api is covered with documentation in two languages - Russian and English.

the library now supports the latest three versions of python - 3.12, 3.13 and 3.14

minor design changes: now, when a Boolean flag is entered, its value is an empty string, not None.

tests have been adapted to the supported versions of python, readmi has been redesigned in two languages, German is no longer available.
2025-12-04 21:55:19 +03:00

114 lines
3.4 KiB
ReStructuredText

.. _root_api_command_flags:
Flags
======
``Flags`` — это коллекция флагов команды. Её основная задача — группировать и управлять набором флагов, зарегистрированных для конкретной команды. ``Flags`` служит контейнером, который позволяет удобно добавлять, извлекать, итерировать флаги и проверять их наличие.
.. seealso::
Документация по отдельным флагам (:ref:`Flag <root_api_command_flag>`, :ref:`InputFlag <root_api_command_input_flag>`)
Документация по :ref:`InputFlags <root_api_command_input_flags>` — коллекция обработанных флагов, введённых пользователем.
:ref:`Общая информация <root_flags>` о флагах и их использовании в приложении ``Argenta``
-----
Инициализация
-------------
.. code-block:: python
:linenos:
__init__(self, flags: list[Flag] | None = None) -> None
Создаёт новую коллекцию флагов.
* ``flags``: Необязательный список флагов типа ``Flag`` для инициализации коллекции. Если не указан, создаётся пустая коллекция.
**Атрибуты:**
.. py:attribute:: flags
:no-index:
Список всех зарегистрированных флагов типа ``Flag``.
**Пример использования:**
.. literalinclude:: ../../../code_snippets/flags/snippet.py
:linenos:
:language: python
-----
Методы
------
add_flag
~~~~~~~~
.. code-block:: python
:linenos:
add_flag(self, flag: Flag) -> None
Добавляет флаг в коллекцию.
:param flag: Флаг типа ``Flag`` для добавления.
:return: None.
Используется для динамического расширения набора флагов.
**Пример использования:**
.. literalinclude:: ../../../code_snippets/flags/snippet2.py
:linenos:
:language: python
-----
add_flags
~~~~~~~~~
.. code-block:: python
:linenos:
add_flags(self, flags: list[Flag]) -> None
Добавляет в коллекцию список флагов.
:param flags: Список флагов типа ``Flag`` для добавления.
:return: None.
Метод расширяет коллекцию, добавляя в неё все флаги из переданного списка. Эффективен для пакетного добавления.
**Пример использования:**
.. literalinclude:: ../../../code_snippets/flags/snippet3.py
:linenos:
:language: python
-----
get_flag_by_name
~~~~~~~~~~~~~~~~
.. code-block:: python
:linenos:
get_flag_by_name(self, name: str) -> Flag | None
Возвращает флаг по имени.
:param name: Имя искомого флага.
:return: Объект ``Flag`` или ``None``, если флаг не найден.
Метод возвращает флаг с соответствующим именем. Если флаг не найден, возвращается ``None``.
**Пример использования:**
.. literalinclude:: ../../../code_snippets/flags/snippet4.py
:linenos:
:language: python