This commit is contained in:
2025-11-29 11:51:59 +03:00
parent 47fda23431
commit 2a96dfcabe
28 changed files with 103 additions and 242 deletions
+5 -5
View File
@@ -1,6 +1,6 @@
from argenta.command import Flags, PredefinedFlags
# Использование предопределенных флагов при создании команды
# Using predefined flags when creating a command
command_flags = Flags(
[
PredefinedFlags.HELP,
@@ -9,7 +9,7 @@ command_flags = Flags(
]
)
# Использование сетевых флагов
# Using Network Flags
network_flags = Flags(
[
PredefinedFlags.HOST,
@@ -17,7 +17,7 @@ network_flags = Flags(
]
)
# Валидация значений предопределенных флагов
# Validating the values of predefined flags
print(PredefinedFlags.HOST.validate_input_flag_value("192.168.1.1")) # True
print(PredefinedFlags.HOST.validate_input_flag_value("invalid")) # False
@@ -25,11 +25,11 @@ 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
# Флаги без значений
# Flags without values
print(PredefinedFlags.HELP.validate_input_flag_value(None)) # True
print(PredefinedFlags.HELP.validate_input_flag_value("something")) # False
# Проверка строковых представлений
# Checking string representations
print(PredefinedFlags.HELP.string_entity) # --help
print(PredefinedFlags.SHORT_HELP.string_entity) # -H
print(PredefinedFlags.HOST.string_entity) # --host
+5 -6
View File
@@ -1,20 +1,19 @@
import re
from argenta.command import Flag, PossibleValues
# Простой флаг с любыми значениями
# Simple flag with any values
verbose_flag = Flag(name="verbose")
# Флаг с коротким префиксом
# Flag with short prefix
short_flag = Flag(name="v", prefix="-")
# Флаг без значения
# Flag that does not take a value
help_flag = Flag(name="help", possible_values=PossibleValues.NEITHER)
# Флаг со списком допустимых значений
# Flag with list of possible values
format_flag = Flag(name="format", possible_values=["json", "xml", "csv"])
# Флаг с регулярным выражением для валидации
# Flag with regexp for validation input value
email_flag = Flag(
name="email",
possible_values=re.compile(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"),
-11
View File
@@ -1,11 +0,0 @@
from argenta.command import Flag
# Создание флагов с разными префиксами
verbose_flag = Flag(name="verbose", prefix="--")
short_flag = Flag(name="v", prefix="-")
triple_flag = Flag(name="debug", prefix="---")
# Получение строкового представления
print(verbose_flag.string_entity) # --verbose
print(short_flag.string_entity) # -v
print(triple_flag.string_entity) # ---debug
+1 -4
View File
@@ -3,10 +3,7 @@ from argenta.command import Flag
help_flag = Flag(name="help")
version_flag = Flag(name="V", prefix="-")
# Использование str() или print()
print(str(help_flag)) # --help
print(version_flag) # -V
print(help_flag) # --help
# Форматирование строк
message = f"Use {help_flag} to see help"
print(message) # Use --help to see help
+2 -2
View File
@@ -3,10 +3,10 @@ from argenta.command import Flag
verbose_flag = Flag(name="verbose", prefix="--")
short_flag = Flag(name="v", prefix="-")
# Отладочное представление
# Debug view
print(repr(verbose_flag)) # Flag<prefix=--, name=verbose>
print(repr(short_flag)) # Flag<prefix=-, name=v>
# В интерактивной консоли или отладчике
# In an interactive console or debugger
# >>> verbose_flag
# Flag<prefix=--, name=verbose>
+6 -6
View File
@@ -1,21 +1,21 @@
from argenta.command import Flag, PossibleValues
# Создание двух флагов с одинаковым именем и префиксом
# Creating two flags with the same name and prefix
flag1 = Flag(name="verbose", prefix="--")
flag2 = Flag(name="verbose", prefix="--")
# Сравнение флагов
# Flag comparison
print(flag1 == flag2) # True
# Флаги с разными префиксами не равны
# Flags with different prefixes are not equal
flag3 = Flag(name="verbose", prefix="-")
print(flag1 == flag3) # False
# Флаги с разными именами не равны
# Flags with different names are not equal
flag4 = Flag(name="help", prefix="--")
print(flag1 == flag4) # False
# Разные possible_values не влияют на равенство
# Different possible_values do not affect equality
flag5 = Flag(name="verbose", prefix="--", possible_values=PossibleValues.NEITHER)
flag6 = Flag(name="verbose", prefix="--", possible_values=["value1", "value2"])
print(flag5 == flag6) # True (сравнение только по string_entity)
print(flag5 == flag6)