Update documentation and code snippets

This commit is contained in:
2025-12-02 10:51:44 +03:00
parent 2a96dfcabe
commit 19906c1b1b
28 changed files with 85 additions and 531 deletions
+8 -54
View File
@@ -3,9 +3,7 @@
Flags
======
`Flags` — это коллекция флагов команды. Её основная задача — группировать и управлять набором флагов, зарегистрированных для конкретной команды. `Flags` служит контейнером, который позволяет удобно добавлять, извлекать, итерировать флаги и проверять их наличие.
`Flags` наследуется от базового класса `BaseFlags` и специализируется на работе с объектами типа `Flag`. Этот класс используется при создании команд с несколькими флагами и предоставляет интерфейс для управления ими.
``Flags`` — это коллекция флагов команды. Её основная задача — группировать и управлять набором флагов, зарегистрированных для конкретной команды. ``Flags`` служит контейнером, который позволяет удобно добавлять, извлекать, итерировать флаги и проверять их наличие.
.. seealso::
@@ -27,14 +25,14 @@ Flags
Создаёт новую коллекцию флагов.
* ``flags``: Необязательный список флагов типа `Flag` для инициализации коллекции. Если не указан, создаётся пустая коллекция.
* ``flags``: Необязательный список флагов типа ``Flag`` для инициализации коллекции. Если не указан, создаётся пустая коллекция.
**Атрибуты:**
.. py:attribute:: flags
:no-index:
Список всех зарегистрированных флагов типа `Flag`. Пуст, если флаги не были переданы при инициализации.
Список всех зарегистрированных флагов типа ``Flag``.
**Пример использования:**
@@ -57,10 +55,10 @@ add_flag
Добавляет флаг в коллекцию.
:param flag: Флаг типа `Flag` для добавления.
:param flag: Флаг типа ``Flag`` для добавления.
:return: None.
Метод добавляет флаг в конец списка `flags`. Используется для динамического расширения набора флагов.
Используется для динамического расширения набора флагов.
**Пример использования:**
@@ -80,7 +78,7 @@ add_flags
Добавляет в коллекцию список флагов.
:param flags: Список флагов типа `Flag` для добавления.
:param flags: Список флагов типа ``Flag`` для добавления.
:return: None.
Метод расширяет коллекцию, добавляя в неё все флаги из переданного списка. Эффективен для пакетного добавления.
@@ -104,56 +102,12 @@ get_flag_by_name
Возвращает флаг по имени.
:param name: Имя искомого флага.
:return: Объект `Flag` или `None`, если флаг не найден.
:return: Объект ``Flag`` или ``None``, если флаг не найден.
Метод выполняет поиск по списку `flags` и возвращает первый флаг с соответствующим именем. Если флаг не найден, возвращается `None`.
Метод возвращает флаг с соответствующим именем. Если флаг не найден, возвращается ``None``.
**Пример использования:**
.. literalinclude:: ../../../code_snippets/flags/snippet4.py
:linenos:
:language: python
-----
Магические методы
-----------------
__iter__
~~~~~~~~
.. code-block:: python
:linenos:
__iter__(self) -> Iterator[Flag]
Делает коллекцию итерируемой для использования в циклах.
:return: Итератор по списку флагов.
**Пример использования:**
.. literalinclude:: ../../../code_snippets/flags/snippet5.py
:linenos:
:language: python
-----
__getitem__
~~~~~~~~~~~
.. code-block:: python
:linenos:
__getitem__(self, flag_index: int) -> Flag
Позволяет получать флаг по индексу.
:param flag_index: Индекс флага в списке.
:return: Флаг по указанному индексу.
**Пример использования:**
.. literalinclude:: ../../../code_snippets/flags/snippet6.py
:linenos:
:language: python