diff --git a/docs/locales/en/LC_MESSAGES/root/error_handling.po b/docs/locales/en/LC_MESSAGES/root/error_handling.po index cbad9fc..9245b5c 100644 --- a/docs/locales/en/LC_MESSAGES/root/error_handling.po +++ b/docs/locales/en/LC_MESSAGES/root/error_handling.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Argenta \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-16 23:51+0300\n" +"POT-Creation-Date: 2025-10-17 18:46+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -49,7 +49,7 @@ msgid "Краткий сэмпл кода, переопределяющего х msgstr "" #: ../../root/error_handling.rst:25 -msgid "Возможные исключения" +msgid "Возможные исключения и нестандартное поведение" msgstr "" #: ../../root/error_handling.rst:28 @@ -141,12 +141,12 @@ msgid "Сэмпл кода, переопределяющего хэндлер в msgstr "" #: ../../root/error_handling.rst:97 -msgid "``UnknownCommandException``: Введена неизвестная команда" +msgid "``Поведение обработки неизвестной команды``: Введена неизвестная команда" msgstr "" #: ../../root/error_handling.rst:99 msgid "" -"Исключение вызывается, когда пользователь вводит команду, которая не " +"Поведение триггерится, когда пользователь вводит команду, которая не " "зарегистрирована ни в одном роутере и не является алиасом ни для одной " "зарегистрированной команды." msgstr "" @@ -167,6 +167,34 @@ msgstr "" msgid "Сэмпл кода, переопределяющего хэндлер ввода неизвестной команды:" msgstr "" +#: ../../root/error_handling.rst:120 +msgid "``Поведение выхода из приложения``: Введена команда выхода" +msgstr "" + +#: ../../root/error_handling.rst:122 +msgid "" +"Поведение триггерится, когда пользователь вводит команду, которая " +"маркирована как команда завершения работы." +msgstr "" + +#: ../../root/error_handling.rst:124 +msgid "Дефолтный хэндлер выводит в консоль текст и завершает работу приложения." +msgstr "" + +#: ../../root/error_handling.rst:130 +msgid "" +"Для переопределения стандартного поведения используется сеттер " +"``.set_exit_command_handler(_: NonStandardBehaviorHandler[Response])``, " +"протокол ``NonStandardBehaviorHandler[Response]`` соответствует " +"``Callable[[Response], None]``, то есть хэндлер должен быть вызываемым " +"объектом, к примеру функция или лямбда, которая принимает обязательный " +"аргумент типа :ref:`Response ` и ничего не возвращает." +msgstr "" + +#: ../../root/error_handling.rst:134 +msgid "Сэмпл кода, переопределяющего хэндлер ввода команды выхода:" +msgstr "" + #~ msgid "привет" #~ msgstr "" @@ -379,3 +407,17 @@ msgstr "" #~ "``provide`` instead?" #~ msgstr "" +#~ msgid "Возможные исключения" +#~ msgstr "" + +#~ msgid "``UnknownCommandException``: Введена неизвестная команда" +#~ msgstr "" + +#~ msgid "" +#~ "Исключение вызывается, когда пользователь " +#~ "вводит команду, которая не зарегистрирована" +#~ " ни в одном роутере и не " +#~ "является алиасом ни для одной " +#~ "зарегистрированной команды." +#~ msgstr "" + diff --git a/docs/root/api/app/autocompleter.rst b/docs/root/api/app/autocompleter.rst index 1423b53..da24e19 100644 --- a/docs/root/api/app/autocompleter.rst +++ b/docs/root/api/app/autocompleter.rst @@ -1,4 +1,4 @@ -.. _Autocompleter: +.. _root_api_app_autocompleter: Autocompleter **************** diff --git a/docs/root/api/app/dividing_lines.rst b/docs/root/api/app/dividing_lines.rst index 4f35667..fe1895a 100644 --- a/docs/root/api/app/dividing_lines.rst +++ b/docs/root/api/app/dividing_lines.rst @@ -1,4 +1,4 @@ -.. _DividingLines: +.. _root_api_app_dividing_lines: DividingLines **************** diff --git a/docs/root/api/app/index.rst b/docs/root/api/app/index.rst index a9de8e4..a9c7754 100644 --- a/docs/root/api/app/index.rst +++ b/docs/root/api/app/index.rst @@ -1,3 +1,5 @@ +.. _root_api_app_index: + App **************** diff --git a/docs/root/api/command/flags.rst b/docs/root/api/command/flags.rst index 0c10f51..83a7cb6 100644 --- a/docs/root/api/command/flags.rst +++ b/docs/root/api/command/flags.rst @@ -1,9 +1,11 @@ -.. _Flags: +.. _root_api_command_flags: Flags **************** +.. _flag: + Flag **************** diff --git a/docs/root/api/command/index.rst b/docs/root/api/command/index.rst index 9693ee1..215542f 100644 --- a/docs/root/api/command/index.rst +++ b/docs/root/api/command/index.rst @@ -1,4 +1,4 @@ -.. _command: +.. _root_api_command_index: Command ======= diff --git a/docs/root/api/command/possible_values.rst b/docs/root/api/command/possible_values.rst index 79a9f6c..bb7ce65 100644 --- a/docs/root/api/command/possible_values.rst +++ b/docs/root/api/command/possible_values.rst @@ -1,4 +1,4 @@ -.. _PossibleValues: +.. _root_api_command_possible_values: PossibleValues **************** diff --git a/docs/root/api/command/validation_status.rst b/docs/root/api/command/validation_status.rst index 8941ffb..0dda45f 100644 --- a/docs/root/api/command/validation_status.rst +++ b/docs/root/api/command/validation_status.rst @@ -1,4 +1,4 @@ -.. _ValidationStatus: +.. _root_api_command_validation_status: ValidationStatus **************** diff --git a/docs/root/api/index.rst b/docs/root/api/index.rst index ae4dfe9..06d9a53 100644 --- a/docs/root/api/index.rst +++ b/docs/root/api/index.rst @@ -1,3 +1,6 @@ +.. _root_api_index: + + Публичный API **************** diff --git a/docs/root/api/orchestrator/argparser.rst b/docs/root/api/orchestrator/argparser.rst index 8b32eac..6786488 100644 --- a/docs/root/api/orchestrator/argparser.rst +++ b/docs/root/api/orchestrator/argparser.rst @@ -1,4 +1,4 @@ -.. _Argparser: +.. _root_api_orchestrator_argparser: Argparser **************** diff --git a/docs/root/api/orchestrator/arguments.rst b/docs/root/api/orchestrator/arguments.rst index 07318f0..e6c288d 100644 --- a/docs/root/api/orchestrator/arguments.rst +++ b/docs/root/api/orchestrator/arguments.rst @@ -1,4 +1,4 @@ -.. _Arguments: +.. _root_api_orchestrator_arguments: Arguments **************** diff --git a/docs/root/api/orchestrator/index.rst b/docs/root/api/orchestrator/index.rst index f94060b..6a94e9f 100644 --- a/docs/root/api/orchestrator/index.rst +++ b/docs/root/api/orchestrator/index.rst @@ -1,8 +1,10 @@ +.. _root_api_orchestrator_index: + Orchestrator **************** .. toctree:: :hidden: - + argparser arguments diff --git a/docs/root/api/response.rst b/docs/root/api/response.rst index 0e15364..75ba620 100644 --- a/docs/root/api/response.rst +++ b/docs/root/api/response.rst @@ -1,4 +1,4 @@ -.. _Response: +.. _root_api_response: Response **************** diff --git a/docs/root/api/router.rst b/docs/root/api/router.rst index d83afb8..e88af1d 100644 --- a/docs/root/api/router.rst +++ b/docs/root/api/router.rst @@ -1,4 +1,4 @@ -.. _Router: +.. _root_api_router: Router **************** diff --git a/docs/root/contributing.rst b/docs/root/contributing.rst index 08af6ad..4d96053 100644 --- a/docs/root/contributing.rst +++ b/docs/root/contributing.rst @@ -1,4 +1,4 @@ -.. _contributing: +.. _root_contributing: Вклад в проект *************************** @@ -6,4 +6,4 @@ ``argenta`` открытый проект и мы рады новым разработчикам в нашем сообществе. Getting started -======================== \ No newline at end of file +======================== diff --git a/docs/root/dependency_injection.rst b/docs/root/dependency_injection.rst index 1385c92..76e99c3 100644 --- a/docs/root/dependency_injection.rst +++ b/docs/root/dependency_injection.rst @@ -1,4 +1,4 @@ -.. _DependencyInjection: +.. _root_dependency_injection: Внедрение зависимостей **************************** diff --git a/docs/root/error_handling.rst b/docs/root/error_handling.rst index 819621e..517bf22 100644 --- a/docs/root/error_handling.rst +++ b/docs/root/error_handling.rst @@ -1,3 +1,5 @@ +.. _root_error_handling: + Обработка ошибок ========================================== @@ -12,7 +14,7 @@ .. note:: Все исключения никогда не остаются необработанными, так как у них есть стандартные хэндлеры. Поэтому переопределение опционально. -Краткий сэмпл кода, переопределяющего хэндлер ввода +Краткий сэмпл кода, переопределяющего хэндлер ввода пустой команды .. literalinclude:: ../code_snippets/error_handling_example_sample.py @@ -28,7 +30,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Исключение вызывается, когда пользователь вводит команду с некорректным синтаксисом и парсер не может -*распарсить* её. В большинстве случаев это означат, что проблема в синтаксисе введённых флагов команды, подробнее о +*распарсить* её. В большинстве случаев это означат, что проблема в синтаксисе введённых флагов команды, подробнее о флагах и их синтаксисе в :ref:`Flags `. Дефолтный хэндлер выводит в консоль @@ -36,9 +38,9 @@ .. code-block:: shell Incorrect flag syntax: - -Для переопределения стандартного поведения используется сеттер ``.set_incorrect_input_syntax_handler(_: NonStandardBehaviorHandler[str])``, -протокол ``NonStandardBehaviorHandler[str]`` соответствует ``Callable[[str], None]``, то есть хэндлер должен быть вызываемым объектом, + +Для переопределения стандартного поведения используется сеттер ``.set_incorrect_input_syntax_handler(_: NonStandardBehaviorHandler[str])``, +протокол ``NonStandardBehaviorHandler[str]`` соответствует ``Callable[[str], None]``, то есть хэндлер должен быть вызываемым объектом, к примеру функция или лямбда, которая принимает единственный аргумент - строку, которая представляет собой необработанную введённую команду, и ничего не возвращает. Сэмпл кода, переопределяющего хэндлер ввода команды с некорректным синтаксисом: @@ -51,26 +53,29 @@ ``RepeatedInputFlagsException``: Повторяющийся флаг в введённой команде ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Исключение вызывается, когда пользователь вводит команду с повторяющимся флагом, флаг(:ref:`InputFlag `) считается повторяющимся, если -введён флаг с таким же именем, именно именем, без префикса. Подробнее о флагах и их синтаксисе в :ref:`Flags `. +Исключение вызывается, когда пользователь вводит команду с повторяющимся флагом, пара введённых флагов(:ref:`InputFlag `) считается +равной, если у них одинаковые имена. Подробнее о флагах и их синтаксисе в :ref:`Flags `. + +.. note:: + Сравнение на равенство у регистрируемых флагов(Flag) происходит иначе, подробнее в :ref:`Flag `. Дефолтный хэндлер выводит в консоль .. code-block:: shell Repeated input flags: - -Для переопределения стандартного поведения используется сеттер ``.set_repeated_input_flags_handler(_: NonStandardBehaviorHandler[str])``, -протокол ``NonStandardBehaviorHandler[str]`` соответствует ``Callable[[str], None]``, то есть хэндлер должен быть вызываемым объектом, + +Для переопределения стандартного поведения используется сеттер ``.set_repeated_input_flags_handler(_: NonStandardBehaviorHandler[str])``, +протокол ``NonStandardBehaviorHandler[str]`` соответствует ``Callable[[str], None]``, то есть хэндлер должен быть вызываемым объектом, к примеру функция или лямбда, которая принимает единственный аргумент - строку, которая представляет собой необработанную введённую команду, и ничего не возвращает. Сэмпл кода, переопределяющего хэндлер ввода команды с повторяющимися флагами: .. literalinclude:: ../code_snippets/error_handling_example_sample3.py :language: python - + --------------- - + ``EmptyInputCommandException``: Введена пустая команда ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -81,22 +86,22 @@ .. code-block:: shell Empty input command - -Для переопределения стандартного поведения используется сеттер ``.set_empty_command_handler(_: EmptyCommandHandler)``, -протокол ``EmptyCommandHandler`` соответствует ``Callable[[], None]``, то есть хэндлер должен быть вызываемым объектом, + +Для переопределения стандартного поведения используется сеттер ``.set_empty_command_handler(_: EmptyCommandHandler)``, +протокол ``EmptyCommandHandler`` соответствует ``Callable[[], None]``, то есть хэндлер должен быть вызываемым объектом, к примеру функция или лямбда, которая не принимает аргументов и ничего не возвращает. Сэмпл кода, переопределяющего хэндлер ввода пустой команды: .. literalinclude:: ../code_snippets/error_handling_example_sample4.py :language: python - ---------------- - + +--------------- + ``Поведение обработки неизвестной команды``: Введена неизвестная команда ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Поведение триггерится, когда пользователь вводит команду, которая не зарегистрирована ни в одном роутере и не является алиасом ни для +Поведение триггерится, когда пользователь вводит команду, которая не зарегистрирована ни в одном роутере и не является алиасом ни для одной зарегистрированной команды. Дефолтный хэндлер выводит в консоль @@ -104,18 +109,18 @@ .. code-block:: shell Unknown command: - -Для переопределения стандартного поведения используется сеттер ``.set_unknown_command_handler(_: NonStandardBehaviorHandler[InputCommand])``, -протокол ``NonStandardBehaviorHandler[InputCommand]`` соответствует ``Callable[[InputCommand], None]``, то есть хэндлер должен быть вызываемым объектом, + +Для переопределения стандартного поведения используется сеттер ``.set_unknown_command_handler(_: NonStandardBehaviorHandler[InputCommand])``, +протокол ``NonStandardBehaviorHandler[InputCommand]`` соответствует ``Callable[[InputCommand], None]``, то есть хэндлер должен быть вызываемым объектом, к примеру функция или лямбда, которая принимает обязательный аргумент типа :ref:`InputCommand ` и ничего не возвращает. Сэмпл кода, переопределяющего хэндлер ввода неизвестной команды: .. literalinclude:: ../code_snippets/error_handling_example_sample5.py :language: python - + --------------- - + ``Поведение выхода из приложения``: Введена команда выхода ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -126,13 +131,12 @@ .. code-block:: shell See you - -Для переопределения стандартного поведения используется сеттер ``.set_exit_command_handler(_: NonStandardBehaviorHandler[Response])``, -протокол ``NonStandardBehaviorHandler[Response]`` соответствует ``Callable[[Response], None]``, то есть хэндлер должен быть вызываемым объектом, -к примеру функция или лямбда, которая принимает обязательный аргумент типа :ref:`Response ` и ничего не возвращает. + +Для переопределения стандартного поведения используется сеттер ``.set_exit_command_handler(_: NonStandardBehaviorHandler[Response])``, +протокол ``NonStandardBehaviorHandler[Response]`` соответствует ``Callable[[Response], None]``, то есть хэндлер должен быть вызываемым объектом, +к примеру функция или лямбда, которая принимает обязательный аргумент типа :ref:`Response ` и ничего не возвращает. Сэмпл кода, переопределяющего хэндлер ввода команды выхода: .. literalinclude:: ../code_snippets/error_handling_example_sample6.py :language: python - \ No newline at end of file diff --git a/docs/root/flags.rst b/docs/root/flags.rst index 0b5fd28..042ca02 100644 --- a/docs/root/flags.rst +++ b/docs/root/flags.rst @@ -1,5 +1,4 @@ .. _root_flags: -Флаги -===== - +Флаги вводимых команд +===================== diff --git a/docs/root/overriding_formatting.rst b/docs/root/overriding_formatting.rst index 0e43016..33fcf10 100644 --- a/docs/root/overriding_formatting.rst +++ b/docs/root/overriding_formatting.rst @@ -1,4 +1,4 @@ -.. _overriding_formatting: +.. _root_overriding_formatting: Переопределение форматирования ***************************************** diff --git a/docs/root/quickstart.rst b/docs/root/quickstart.rst index 839e6ea..b7a584b 100644 --- a/docs/root/quickstart.rst +++ b/docs/root/quickstart.rst @@ -1,4 +1,4 @@ -.. _quickstart: +.. _root_quickstart: Быстрый старт ******************** @@ -8,20 +8,19 @@ .. code-block:: shell pip install argenta - + 2. **Определение роутера и хэндлеров**. За регистрацию функции как обработчика отвечает декоратор ``@router.command``, хэндлер всегда должен принимать аргумент с типом ``Response``, подробнее в :ref:`разделе `. .. literalinclude:: ../code_snippets/quickstart_example_routers.py :language: python - + 3. **Определение приложения и оркестратора**. Для запуска приложения необходимо вызвать ``.include_router()`` у созданного приложения и передать ему раннее созданный роутер, после этого необходимо вызвать ``.start_polling()`` у созданного оркестратора и передать ему созданное приложение. .. literalinclude:: ../code_snippets/quickstart_example_main.py :language: python - + 4. **Запуск приложения**. Запускаем приложение как обычный скрипт. .. image:: https://github.com/koloideal/Argenta/blob/docs/create_docs/imgs/mock_app_preview6.png?raw=true :alt: Quickstart Example - \ No newline at end of file diff --git a/docs/root/redirect_stdout.rst b/docs/root/redirect_stdout.rst index 3e48e3f..3e6189c 100644 --- a/docs/root/redirect_stdout.rst +++ b/docs/root/redirect_stdout.rst @@ -1,3 +1,6 @@ +.. _root_redirect_stdout: + + Перенаправление стандартного вывода ***********************************