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
+13
View File
@@ -0,0 +1,13 @@
from argenta.command import Flag, PossibleValues
# Создание флагов с любыми значениями
output_flag = Flag(name="output", possible_values=PossibleValues.ALL)
message_flag = Flag(name="message", possible_values=PossibleValues.ALL)
name_flag = Flag(name="name", possible_values=PossibleValues.ALL)
# Можно передать любую строку или ничего
# Примеры:
# --output result.json
# --message "Any text here"
# --name "User Name"
# --message
@@ -0,0 +1,26 @@
from argenta.command import Flag, PossibleValues
import re
# Флаг без значения
verbose_flag = Flag(
name="verbose",
possible_values=PossibleValues.NEITHER
)
# Флаг с любым значением
output_flag = Flag(
name="output",
possible_values=PossibleValues.ALL
)
# Флаг со списком допустимых значений
format_flag = Flag(
name="format",
possible_values=["json", "xml", "csv", "yaml"]
)
# Флаг с регулярным выражением
email_flag = Flag(
name="email",
possible_values=re.compile(r"^[\w\.-]+@[\w\.-]+\.\w+$")
)
@@ -0,0 +1,10 @@
from argenta.command import Flag, PossibleValues
# Создание флагов без значений
help_flag = Flag(name="help", possible_values=PossibleValues.NEITHER)
verbose_flag = Flag(name="verbose", possible_values=PossibleValues.NEITHER)
force_flag = Flag(name="force", possible_values=PossibleValues.NEITHER)
# Такие флаги используются как переключатели
# Правильно: myapp --help
# Неправильно: myapp --help something
@@ -0,0 +1,10 @@
from argenta.command.flag.defaults import PredefinedFlags
# Проверка типа possible_values в предопределенных флагах
print(PredefinedFlags.HELP.possible_values) # PossibleValues.NEITHER
print(PredefinedFlags.INFO.possible_values) # PossibleValues.NEITHER
print(PredefinedFlags.ALL.possible_values) # PossibleValues.NEITHER
# Сетевые флаги используют регулярные выражения, а не PossibleValues
# PredefinedFlags.HOST использует Pattern для валидации IP
# PredefinedFlags.PORT использует Pattern для валидации порта