40 lines
1008 B
Python
40 lines
1008 B
Python
"""Application configuration loaded from environment variables."""
|
|
|
|
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
# Event providers
|
|
ticketmaster_key: str = ""
|
|
seatgeek_client_id: str = ""
|
|
|
|
# Telegram
|
|
telegram_bot_token: str = ""
|
|
telegram_chat_id: str = ""
|
|
|
|
# Airbnb automation (optional)
|
|
airbnb_listing_id: str = ""
|
|
airbnb_calendar_url: str = ""
|
|
airbnb_base_price: int = 150
|
|
price_increase_pct: int = 20
|
|
airbnb_headed: bool = False
|
|
airbnb_slow_mo_ms: int = 0
|
|
|
|
# Search location (default: Thornhill, ON — covers Toronto + GTA)
|
|
search_lat: float = 43.8083
|
|
search_lon: float = -79.4220
|
|
search_radius_km: int = 30
|
|
|
|
# Alerts: drop events below this impact score (0 = show all)
|
|
min_alert_score: float = 0.0
|
|
|
|
# General
|
|
lookahead_days: int = 30
|
|
log_level: str = "INFO"
|
|
|
|
model_config = {"env_file": ".env", "env_file_encoding": "utf-8"}
|
|
|
|
|
|
def load_settings() -> Settings:
|
|
return Settings()
|