27 lines
853 B
Python
27 lines
853 B
Python
from pydantic import Field
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
"""
|
|
Application settings loaded from environment variables or a .env file.
|
|
"""
|
|
app_name: str = Field('jellydisc')
|
|
app_version: str = Field('0.1.2')
|
|
|
|
jellyfin_server_url: str = Field(..., env="JELLYFIN_SERVER_URL")
|
|
jellyfin_username: str = Field(..., env="JELLYFIN_USERNAME")
|
|
jellyfin_password: str = Field(..., env="JELLYFIN_PASSWORD")
|
|
jellyfin_auth_timeout: int = Field(
|
|
10 * 60, env="JELLYFIN_AUTH_TIMEOUT") # default 10 minutes
|
|
|
|
discord_app_id: str = Field(..., env="DISCORD_APP_ID")
|
|
|
|
poll_interval: int = Field(15, env="POLL_INTERVAL") # default 15 seconds
|
|
|
|
model_config = SettingsConfigDict(
|
|
env_file=".env", env_file_encoding="utf-8")
|
|
|
|
|
|
settings = Settings()
|