style(config): reformat Settings for readability

This commit is contained in:
2026-07-30 16:12:54 +05:00
parent ff539ccaa2
commit 063c9bdbdd
+40 -14
View File
@@ -21,18 +21,34 @@ class Settings(BaseSettings):
populate_by_name=True,
)
bot_token: str = Field(default="", validation_alias=AliasChoices("BOT_TOKEN", "bot_token"))
admin_ids: List[int] = Field(default_factory=list, validation_alias=AliasChoices("BOT_ADMIN_IDS", "admin_id"))
database_export: bool = Field(default=False,
validation_alias=AliasChoices("BOT_DATABASE_EXPORT", "allow_database_export"))
status_notification: bool = Field(default=True, validation_alias="BOT_STATUS_NOTIFICATION")
bot_token: str = Field(
default="", validation_alias=AliasChoices("BOT_TOKEN", "bot_token")
)
admin_ids: List[int] = Field(
default_factory=list, validation_alias=AliasChoices("BOT_ADMIN_IDS", "admin_id")
)
database_export: bool = Field(
default=False,
validation_alias=AliasChoices("BOT_DATABASE_EXPORT", "allow_database_export"),
)
status_notification: bool = Field(
default=True, validation_alias="BOT_STATUS_NOTIFICATION"
)
timezone: str = Field(default="Europe/Moscow", validation_alias="BOT_TIMEZONE")
database_path: str = Field(default="tgbot/data/database.db", validation_alias="PATH_DATABASE")
database_path: str = Field(
default="tgbot/data/database.db", validation_alias="PATH_DATABASE"
)
logs_path: str = Field(default="tgbot/data/logs.log", validation_alias="PATH_LOGS")
user_cache_ttl: int = Field(default=300, ge=0, validation_alias="BOT_USER_CACHE_TTL")
throttle_rate: float = Field(default=0.5, ge=0, validation_alias="BOT_THROTTLE_RATE")
user_cache_ttl: int = Field(
default=300, ge=0, validation_alias="BOT_USER_CACHE_TTL"
)
throttle_rate: float = Field(
default=0.5, ge=0, validation_alias="BOT_THROTTLE_RATE"
)
@field_validator("bot_token", "timezone", "database_path", "logs_path", mode="before")
@field_validator(
"bot_token", "timezone", "database_path", "logs_path", mode="before"
)
@classmethod
def _strip_string(cls, value: object) -> str:
return str(value or "").strip()
@@ -46,11 +62,15 @@ class Settings(BaseSettings):
if isinstance(value, int):
values = [value]
elif isinstance(value, str):
values = [admin_id for admin_id in value.replace(" ", "").split(",") if admin_id]
values = [
admin_id for admin_id in value.replace(" ", "").split(",") if admin_id
]
elif isinstance(value, (list, tuple, set)):
values = list(value)
else:
raise ValueError("BOT_ADMIN_IDS должен быть числом или списком чисел через запятую")
raise ValueError(
"BOT_ADMIN_IDS должен быть числом или списком чисел через запятую"
)
admin_ids = []
@@ -58,10 +78,14 @@ class Settings(BaseSettings):
try:
parsed_id = int(admin_id)
except (TypeError, ValueError) as error:
raise ValueError("BOT_ADMIN_IDS должен содержать только Telegram ID через запятую") from error
raise ValueError(
"BOT_ADMIN_IDS должен содержать только Telegram ID через запятую"
) from error
if parsed_id <= 0:
raise ValueError("BOT_ADMIN_IDS должен содержать Telegram ID больше нуля")
raise ValueError(
"BOT_ADMIN_IDS должен содержать Telegram ID больше нуля"
)
admin_ids.append(parsed_id)
@@ -73,7 +97,9 @@ class Settings(BaseSettings):
try:
timezone(value)
except UnknownTimeZoneError as error:
raise ValueError("BOT_TIMEZONE должен быть корректной временной зоной, например Europe/Moscow") from error
raise ValueError(
"BOT_TIMEZONE должен быть корректной временной зоной, например Europe/Moscow"
) from error
return value