This commit is contained in:
2025-10-27 11:59:03 +03:00
parent fc8597504f
commit 7b40fff4c5
16 changed files with 1691 additions and 22 deletions
+46
View File
@@ -0,0 +1,46 @@
from argenta import Orchestrator, App
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()
+11
View File
@@ -0,0 +1,11 @@
from argenta import Router, Response
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)