This commit is contained in:
2025-11-29 11:51:59 +03:00
parent 47fda23431
commit 2a96dfcabe
28 changed files with 103 additions and 242 deletions
+11 -23
View File
@@ -3,7 +3,7 @@
Flag
=====
``Flag`` — это сущность, описывающая флаг команды. Её основная задача — определить параметры флага, включая его имя, префикс и правила валидации. `Flag` используется при создании команд и предоставляет механизм для проверки значений, введённых пользователем.
``Flag`` — это сущность, описывающая флаг команды. Её основная задача — определить параметры флага, включая его имя, префикс и правила валидации.
.. seealso::
@@ -11,7 +11,7 @@ Flag
Документация по :ref:`InputFlag <root_api_command_input_flag>` — объект обработанного флага, введённого пользователем.
:ref:`Общая информация <root_flags>` о флагах и их использовании в приложении ``Argenta``
:ref:`Общая информация <root_flags>` о флагах и их использовании в ``Argenta``
-----
@@ -31,7 +31,7 @@ Flag
* ``name``: Имя флага (обязательный параметр).
* ``prefix``: Префикс флага (``-``, ``--``, ``---``). По умолчанию ``--``.
* ``possible_values``: Правила валидации значения. Может быть списком строк, регулярным выражением или значением из `PossibleValues`. По умолчанию `PossibleValues.ALL`.
* ``possible_values``: Правила валидации значения. Может быть списком строк, регулярным выражением или значением из ``PossibleValues``. По умолчанию ``PossibleValues.ALL``, то есть любое значение допустимо.
**Атрибуты:**
@@ -45,12 +45,7 @@ Flag
.. py:attribute:: possible_values
Определяет допустимые значения для флага:
* Список строк: флаг принимает только значения из этого списка.
* Регулярное выражение (`Pattern[str]`): значение проверяется на соответствие паттерну.
* `PossibleValues.ALL`: флаг принимает любое значение.
* `PossibleValues.NEITHER`: флаг не должен иметь значения.
Допустимые значения для флага.
**Пример использования:**
@@ -78,12 +73,6 @@ string_entity
Это свойство объединяет префикс и имя в единую строку, которая представляет флаг так, как он выглядел бы в командной строке.
**Пример использования:**
.. literalinclude:: ../../../code_snippets/flag/snippet3.py
:linenos:
:language: python
-----
Магические методы
@@ -97,7 +86,7 @@ __str__
__str__(self) -> str
Возвращает строковое представление флага (аналогично `string_entity`).
Возвращает строковое представление флага (аналогично ``string_entity``).
:return: Строковое представление флага
@@ -119,7 +108,7 @@ __repr__
Возвращает отладочное представление объекта.
:return: Строка в формате `Flag<prefix=..., name=...>`.
:return: Строка в формате ``Flag<prefix=..., name=...>``.
**Пример использования:**
@@ -137,13 +126,12 @@ __eq__
__eq__(self, other: object) -> bool
Сравнивает два флага на равенство по их строковому представлению (`string_entity`).
Сравнивает два флага на равенство по их строковому представлению (``string_entity``).
:param other: Объект для сравнения
:return: ``True``, если флаги равны, иначе ``False``
:raises NotImplementedError: Если `other` не является экземпляром `Flag`.
:return: **True**, если флаги равны, иначе **False**
Два флага считаются равными, если их `string_entity` идентичны.
Два флага считаются равными, если их ``string_entity`` идентичны.
**Пример использования:**
@@ -160,9 +148,9 @@ PredefinedFlags
``argenta.command.PredefinedFlags``
Класс `PredefinedFlags` предоставляет набор готовых флагов для использования в приложениях без их ручного создания. Эти флаги покрывают наиболее распространённые сценарии и следуют общепринятым соглашениям.
Класс ``PredefinedFlags`` предоставляет набор готовых флагов для использования в приложениях без их ручного создания. Эти флаги покрывают распространённые сценарии.
Все предопределённые флаги являются атрибутами класса и представляют собой готовые экземпляры `Flag`.
Все предопределённые флаги являются атрибутами класса и представляют собой готовые экземпляры ``Flag``.
-----