mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 10:05:28 +03:00
docs
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))}")
|
||||
Reference in New Issue
Block a user