This commit is contained in:
2025-11-02 01:04:31 +03:00
parent 64c984a704
commit 9c58c10152
70 changed files with 341 additions and 391 deletions
+8 -18
View File
@@ -3,23 +3,13 @@ from argenta.orchestrator.argparser import ArgParser, ValueArgument
# Определение аргументов приложения
arguments = [
ValueArgument(
"host",
help="Server host",
default="localhost"
),
ValueArgument(
"port",
help="Server port",
default="8080"
),
ValueArgument("host", help="Server host", default="localhost"),
ValueArgument("port", help="Server port", default="8080"),
]
# Создание и запуск парсера
argparser = ArgParser(
processed_args=arguments,
name="WebServer",
description="Simple web server"
processed_args=arguments, name="WebServer", description="Simple web server"
)
app = App()
@@ -29,17 +19,17 @@ orchestrator = Orchestrator(argparser)
def main():
# Получение аргументов только после инициализации Orchestrator
argspace = argparser.parsed_argspace
# Получение конкретных аргументов
host = argspace.get_by_name("host")
port = argspace.get_by_name("port")
print("Server configuration:")
print(f" Host: {host.value}")
print(f" Port: {port.value}")
orchestrator.start_polling(app)
if __name__ == "__main__":
main()
+2 -2
View File
@@ -4,7 +4,7 @@ from argenta.orchestrator.argparser import ArgSpace
router = Router()
@router.command('get_args')
@router.command("get_args")
async def get_args(response: Response, argspace: FromDishka[ArgSpace]):
print(argspace.all_arguments)
+6 -6
View File
@@ -1,21 +1,21 @@
from argenta import Response, Router
from argenta.di import FromDishka
from argenta.orchestrator.argparser import (ArgSpace, BooleanArgument,
ValueArgument)
from argenta.orchestrator.argparser import ArgSpace, BooleanArgument, ValueArgument
router = Router()
@router.command('get_args')
@router.command("get_args")
def get_args(response: Response, argspace: FromDishka[ArgSpace]):
# Получение всех булевых флагов
boolean_flags = argspace.get_by_type(BooleanArgument)
print(f"Active flags: {[arg.name for arg in boolean_flags if arg.value]}")
# Получение всех аргументов со значениями
value_args = argspace.get_by_type(ValueArgument)
for arg in value_args:
print(f"{arg.name} = {arg.value}")
# Подсчет количества аргументов каждого типа
print(f"Boolean arguments: {len(argspace.get_by_type(BooleanArgument))}")
print(f"Value arguments: {len(argspace.get_by_type(ValueArgument))}")
print(f"Value arguments: {len(argspace.get_by_type(ValueArgument))}")