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
+17
View File
@@ -0,0 +1,17 @@
from argenta.command import Flags, Flag
from argenta import Command
import re
# Создание коллекции с флагами
flags = Flags([
Flag("host", possible_values=re.compile(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$")),
Flag("port", possible_values=re.compile(r"^\d{1,5}$"))
])
# Использование в команде
cmd = Command(
"start",
description="Start the server",
flags=flags
)
+11
View File
@@ -0,0 +1,11 @@
from argenta.command import Flags, Flag
# Создание коллекции
flags: Flags = Flags()
# Динамическое добавление флагов
flags.add_flag(Flag("config"))
flags.add_flag(Flag("debug"))
flags.add_flag(Flag("log-level", possible_values=["INFO", "DEBUG", "ERROR"]))
print(len(flags.flags)) # 3
+20
View File
@@ -0,0 +1,20 @@
from argenta.command import Flags, Flag
from argenta.command.flag.defaults import PredefinedFlags
# Начальная коллекция
flags = Flags([
PredefinedFlags.HOST
])
# Дополнительные флаги
additional_flags = [
PredefinedFlags.PORT,
Flag("database"),
Flag("ssl"),
Flag("verbose")
]
# Добавление списка флагов
flags.add_flags(additional_flags)
print(len(flags.flags)) # 5
+18
View File
@@ -0,0 +1,18 @@
from argenta.command import Flags, Flag
from argenta.command.flag.defaults import PredefinedFlags
flags = Flags([
PredefinedFlags.HOST,
PredefinedFlags.PORT,
Flag("verbose")
])
# Получение флага по имени
host_flag = flags.get_flag_by_name("host")
if host_flag:
print(f"Found flag: {host_flag.name}")
# Поиск несуществующего флага
unknown_flag = flags.get_flag_by_name("nonexistent")
if unknown_flag is None:
print("Flag not found")
+16
View File
@@ -0,0 +1,16 @@
from argenta.command import Flags, Flag
from argenta.command.flag.defaults import PredefinedFlags
flags = Flags([
PredefinedFlags.HOST,
PredefinedFlags.PORT,
Flag("verbose")
])
# Итерация по всем флагам
for flag in flags:
print(f"Flag: {flag.name} (type: {type(flag).__name__})")
# Использование в list comprehension
flag_names = [flag.name for flag in flags]
print(f"All flags: {flag_names}")
+16
View File
@@ -0,0 +1,16 @@
from argenta.command import Flags, Flag
flags = Flags([
Flag("first"),
Flag("second"),
Flag("third")
])
print(flags[0].name)
# first
print(flags[1].name)
# second
print(flags[2].name)
# third