Files
new_vk_parser/src/vk_parser_app/config.py
T
2026-07-28 12:37:04 +05:00

51 lines
1.3 KiB
Python

from __future__ import annotations
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
app_env: str = "production"
app_secret_key: str = "change-me"
admin_app_title: str = "Редакторская"
admin_bootstrap_login: str = "admin"
admin_bootstrap_password: str = ""
db_host: str = "localhost"
db_port: int = 5432
db_name: str = "vk_parser"
db_user: str = "vk_parser_user"
db_password: str = ""
vk_access_token: str = ""
vk_group_access_token: str = ""
vk_api_version: str = "5.199"
vk_storage_group_id: int = 0
tg_bot_token: str = ""
tg_media_channel_id: str = ""
local_bot_api_url: str = ""
admin_host: str = "0.0.0.0"
admin_port: int = 8080
log_level: str = "INFO"
model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore")
@property
def db_dsn(self) -> str:
return (
f"postgresql://{self.db_user}:{self.db_password}"
f"@{self.db_host}:{self.db_port}/{self.db_name}"
)
@property
def display_admin_title(self) -> str:
return self.admin_app_title.strip() or "Редакторская"
@property
def vk_storage_owner_id(self) -> int:
return -abs(int(self.vk_storage_group_id))
settings = Settings()