From 063c9bdbdd7cf46494aa7ff88de9a7008225f112 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 30 Jul 2026 16:12:54 +0500 Subject: [PATCH] style(config): reformat Settings for readability --- tgbot/data/config.py | 54 ++++++++++++++++++++++++++++++++------------ 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/tgbot/data/config.py b/tgbot/data/config.py index 3326f28..995a324 100644 --- a/tgbot/data/config.py +++ b/tgbot/data/config.py @@ -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