refactor and optimize argspace

This commit is contained in:
2025-11-28 14:31:51 +03:00
parent 1eaf2b6333
commit be178b10c7
7 changed files with 68 additions and 31 deletions
+6 -3
View File
@@ -1,10 +1,13 @@
from argenta import App, Orchestrator
from argenta.orchestrator.argparser import ArgParser, BooleanArgument
from argenta.orchestrator.argparser import ArgParser, BooleanArgument, ValueArgument
arg_parser = ArgParser(processed_args=[BooleanArgument("config")])
arg_parser = ArgParser(processed_args=[BooleanArgument("dev"), ValueArgument('some', possible_values=['fuck', 'cruck'])])
orchestrator = Orchestrator(
arg_parser=arg_parser,
)
if __name__ == "__main__":
orchestrator.start_polling(App())
if arg_parser.parsed_argspace.get_by_name('dev'):
orchestrator.start_polling(App(initial_message='ArgentaDev'))
else:
orchestrator.start_polling(App())
+6 -6
View File
@@ -25,7 +25,7 @@ ArgParser
* ``description``: Описание приложения для отображения в справке.
* ``epilog``: Дополнительная информация для отображения в конце справки.
Основные методы и атрибуты
Атрибуты
---------------------------
.. py:attribute:: parsed_argspace: ArgSpace
@@ -64,16 +64,16 @@ ArgParser
.. code-block:: bash
$ python app.py
usage: MyApp [-h] --config CONFIG
MyApp: error: the following arguments are required: --config
usage: Argenta [-h] --config CONFIG
Argenta: error: the following arguments are required: --config
**Недопустимое значение из списка choices:**
**Недопустимое значение из списка possible_values:**
.. code-block:: bash
$ python app.py --config app.yaml --log-level TRACE
usage: MyApp [-h] --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
MyApp: error: argument --log-level: invalid choice: 'TRACE'
usage: Argenta [-h] --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Argenta: error: argument --log-level: invalid choice: 'TRACE'
**Использование устаревшего аргумента:**
+1 -1
View File
@@ -5,7 +5,7 @@ Arguments
Модуль ``Arguments`` предоставляет классы для работы с аргументами командной строки. Они позволяют настраивать поведение приложения в момент его запуска, передавая различные параметры конфигурации.
Аргументы регистрируются в `ArgParser` и после обработки становятся доступными в объекте `ArgSpace`.
Аргументы регистрируются в ``ArgParser`` и после обработки становятся доступными в объекте ``ArgSpace``.
-----