This commit is contained in:
2025-11-01 11:38:48 +03:00
parent 0598f6e7a5
commit e4a5c6d398
73 changed files with 53 additions and 50 deletions
+45
View File
@@ -0,0 +1,45 @@
from argenta import App, Orchestrator
from argenta.orchestrator.argparser import ArgParser, ValueArgument
# Определение аргументов приложения
arguments = [
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"
)
app = App()
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()
+10
View File
@@ -0,0 +1,10 @@
from argenta import Response, Router
from argenta.di import FromDishka
from argenta.orchestrator.argparser import ArgSpace
router = Router()
@router.command('get_args')
async def get_args(response: Response, argspace: FromDishka[ArgSpace]):
print(argspace.all_arguments)
+21
View File
@@ -0,0 +1,21 @@
from argenta import Response, Router
from argenta.di import FromDishka
from argenta.orchestrator.argparser import (ArgSpace, BooleanArgument,
ValueArgument)
router = Router()
@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))}")