"""Konfigurace čtená z environment variables (AppFactory runtime .env). Žádné secrets zde nejsou — přihlašovací údaje (ClientId/ClientSecret) se předávají per-request přes X- hlavičky (viz app/credentials.py). Zde jsou pouze veřejné defaulty, base URL adresy PPL CPL API a nastavení proxy. """ import os APP_NAME = os.getenv("APP_NAME", "PPL CPL API") APP_VERSION = os.getenv("APP_VERSION", "1.0.0") ROOT_PATH = os.getenv("ROOT_PATH", "") # Base URL adresy CPL API (přepsatelné přes env, kdyby se změnily). CPL_PRODUCTION_BASE_URL = os.getenv( "CPL_PRODUCTION_BASE_URL", "https://api.dhl.com/ecs/ppl/myapi2" ) CPL_TEST_BASE_URL = os.getenv( "CPL_TEST_BASE_URL", "https://api-dev.dhl.com/ecs/ppl/myapi2" ) # Které prostředí se použije, když request nepošle hlavičku X-Environment. CPL_DEFAULT_ENVIRONMENT = os.getenv("CPL_DEFAULT_ENVIRONMENT", "production") # OAuth2 client_credentials scope dle dokumentace CPL. CPL_OAUTH_SCOPE = os.getenv("CPL_OAUTH_SCOPE", "myapi2") # Timeout pro upstream volání. UPSTREAM_TIMEOUT_SECONDS = float(os.getenv("UPSTREAM_TIMEOUT_SECONDS", "60")) # Token platí 30 minut; obnovujeme ho s předstihem, ať nikdy nepošleme prošlý. TOKEN_REFRESH_MARGIN_SECONDS = float(os.getenv("TOKEN_REFRESH_MARGIN_SECONDS", "60")) # PPL vyžaduje min. 40 ms rozestup mezi po sobě jdoucími requesty. MIN_REQUEST_INTERVAL_SECONDS = float(os.getenv("MIN_REQUEST_INTERVAL_SECONDS", "0.04")) # Polling stavu batch importu u convenience endpointů create-and-wait. BATCH_POLL_INTERVAL_SECONDS = float(os.getenv("BATCH_POLL_INTERVAL_SECONDS", "1.0")) BATCH_WAIT_TIMEOUT_SECONDS = float(os.getenv("BATCH_WAIT_TIMEOUT_SECONDS", "30")) # CPL přijímá pouze Latin znaky bez diakritiky — defaultně texty transliterujeme. TRANSLITERATE_DEFAULT = os.getenv("CPL_TRANSLITERATE", "true").strip().lower() in ( "1", "true", "yes", )