# src/ptscraper/config.py import os import socket from dotenv import load_dotenv from httpx import Timeout load_dotenv() # will read a .env file in project root if present # Base endpoint BASE_URL = os.getenv("PTS_BASE_URL", "https://62.233.178.84:8088") # Digest auth credentials AUTH_USERNAME = os.getenv("PTS_USERNAME", "android-mpk") AUTH_PASSWORD = os.getenv("PTS_PASSWORD", "g5crehAfUCh4Wust") # HTTPX timeout (in seconds) # You can override any one by setting PTS_TIMEOUT_CONNECT, PTS_TIMEOUT_READ, etc. REQUEST_TIMEOUT = { "connect": float(os.getenv("PTS_TIMEOUT_CONNECT", "3.0")), "read": float(os.getenv("PTS_TIMEOUT_READ", "10.0")), "write": float(os.getenv("PTS_TIMEOUT_WRITE", "10.0")), "pool": float(os.getenv("PTS_TIMEOUT_POOL", "5.0")), } TIMEOUT = Timeout( connect=REQUEST_TIMEOUT["connect"], read=REQUEST_TIMEOUT["read"], write=REQUEST_TIMEOUT["write"], pool=REQUEST_TIMEOUT["pool"], ) LOCAL_DATA_DIR = os.getenv("LOCAL_DATA_DIR") HOST_ID = os.getenv("HOST_ID", socket.gethostname()) RCLONE_REMOTE = os.getenv("RCLONE_REMOTE", "nas") RCLONE_REMOTE_PATH = os.getenv("RCLONE_REMOTE_PATH", "pt-scraper-data") MAX_COURSE_FETCH_ATTEMPTS = os.getenv("MAX_COURSE_FETCH_ATTEMPTS", 3)