This commit is contained in:
2025-11-02 01:04:31 +03:00
parent 64c984a704
commit 9c58c10152
70 changed files with 341 additions and 391 deletions
+23 -19
View File
@@ -2,32 +2,36 @@ from argenta.command import Flags
from argenta.command.flag.defaults import PredefinedFlags
# Использование предопределенных флагов при создании команды
command_flags = Flags([
PredefinedFlags.HELP,
PredefinedFlags.SHORT_HELP,
PredefinedFlags.INFO,
])
command_flags = Flags(
[
PredefinedFlags.HELP,
PredefinedFlags.SHORT_HELP,
PredefinedFlags.INFO,
]
)
# Использование сетевых флагов
network_flags = Flags([
PredefinedFlags.HOST,
PredefinedFlags.PORT,
])
network_flags = Flags(
[
PredefinedFlags.HOST,
PredefinedFlags.PORT,
]
)
# Валидация значений предопределенных флагов
print(PredefinedFlags.HOST.validate_input_flag_value("192.168.1.1")) # True
print(PredefinedFlags.HOST.validate_input_flag_value("invalid")) # False
print(PredefinedFlags.HOST.validate_input_flag_value("invalid")) # False
print(PredefinedFlags.PORT.validate_input_flag_value("8080")) # True
print(PredefinedFlags.PORT.validate_input_flag_value("99999")) # True
print(PredefinedFlags.PORT.validate_input_flag_value("abc")) # False
print(PredefinedFlags.PORT.validate_input_flag_value("8080")) # True
print(PredefinedFlags.PORT.validate_input_flag_value("99999")) # True
print(PredefinedFlags.PORT.validate_input_flag_value("abc")) # False
# Флаги без значений
print(PredefinedFlags.HELP.validate_input_flag_value(None)) # True
print(PredefinedFlags.HELP.validate_input_flag_value("something")) # False
print(PredefinedFlags.HELP.validate_input_flag_value(None)) # True
print(PredefinedFlags.HELP.validate_input_flag_value("something")) # False
# Проверка строковых представлений
print(PredefinedFlags.HELP.string_entity) # --help
print(PredefinedFlags.SHORT_HELP.string_entity) # -H
print(PredefinedFlags.HOST.string_entity) # --host
print(PredefinedFlags.SHORT_PORT.string_entity) # -P
print(PredefinedFlags.HELP.string_entity) # --help
print(PredefinedFlags.SHORT_HELP.string_entity) # -H
print(PredefinedFlags.HOST.string_entity) # --host
print(PredefinedFlags.SHORT_PORT.string_entity) # -P
+2 -5
View File
@@ -12,13 +12,10 @@ short_flag = Flag(name="v", prefix="-")
help_flag = Flag(name="help", possible_values=PossibleValues.NEITHER)
# Флаг со списком допустимых значений
format_flag = Flag(
name="format",
possible_values=["json", "xml", "csv"]
)
format_flag = Flag(name="format", possible_values=["json", "xml", "csv"])
# Флаг с регулярным выражением для валидации
email_flag = Flag(
name="email",
possible_values=re.compile(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")
possible_values=re.compile(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"),
)
+5 -5
View File
@@ -7,14 +7,14 @@ format_flag = Flag(name="format", possible_values=["json", "xml", "csv"])
# Валидация значений
print(format_flag.validate_input_flag_value("json")) # True
print(format_flag.validate_input_flag_value("pdf")) # False
print(format_flag.validate_input_flag_value("pdf")) # False
# Флаг без значения
help_flag = Flag(name="help", possible_values=PossibleValues.NEITHER)
print(help_flag.validate_input_flag_value(None)) # True
print(help_flag.validate_input_flag_value("value")) # False
print(help_flag.validate_input_flag_value(None)) # True
print(help_flag.validate_input_flag_value("value")) # False
# Флаг с регулярным выражением
port_flag = Flag(name="port", possible_values=re.compile(r"^\d{1,5}$"))
print(port_flag.validate_input_flag_value("8080")) # True
print(port_flag.validate_input_flag_value("abc")) # False
print(port_flag.validate_input_flag_value("8080")) # True
print(port_flag.validate_input_flag_value("abc")) # False
+2 -2
View File
@@ -7,5 +7,5 @@ triple_flag = Flag(name="debug", prefix="---")
# Получение строкового представления
print(verbose_flag.string_entity) # --verbose
print(short_flag.string_entity) # -v
print(triple_flag.string_entity) # ---debug
print(short_flag.string_entity) # -v
print(triple_flag.string_entity) # ---debug
+2 -2
View File
@@ -4,8 +4,8 @@ help_flag = Flag(name="help")
version_flag = Flag(name="V", prefix="-")
# Использование str() или print()
print(str(help_flag)) # --help
print(version_flag) # -V
print(str(help_flag)) # --help
print(version_flag) # -V
# Форматирование строк
message = f"Use {help_flag} to see help"
+1 -1
View File
@@ -5,7 +5,7 @@ short_flag = Flag(name="v", prefix="-")
# Отладочное представление
print(repr(verbose_flag)) # Flag<prefix=--, name=verbose>
print(repr(short_flag)) # Flag<prefix=-, name=v>
print(repr(short_flag)) # Flag<prefix=-, name=v>
# В интерактивной консоли или отладчике
# >>> verbose_flag