项目文件夹

文件
wehub-resource-sync 690333661e
Deploy Documentation / deploy (push) Failing after 1s
chore: import upstream snapshot with attribution
2026-07-13 12:19:21 +08:00

55 行
1.9 KiB
Python

"""Compatibility config for migrated API provider clients.
This module keeps the old ``Config.X`` access pattern used by the copied
clients, while sourcing values from Pixelle's config manager first and
environment variables as a fallback.
"""
import os
from typing import Any
def _provider_config(provider: str) -> dict:
try:
from pixelle_video.config import config_manager
config = config_manager.config.to_dict()
return config.get("api_providers", {}).get(provider, {}) or {}
except Exception:
return {}
class _ConfigMeta(type):
def __getattr__(cls, name: str) -> Any:
mapping = {
"PRINT_MODEL_INPUT": ("common", "print_model_input", False),
"LOCAL_PROXY": ("common", "local_proxy", ""),
"OPENAI_API_KEY": ("openai", "api_key", ""),
"OPENAI_BASE_URL": ("openai", "base_url", ""),
"DASHSCOPE_API_KEY": ("dashscope", "api_key", ""),
"DASHSCOPE_BASE_URL": ("dashscope", "base_url", ""),
"DEEPSEEK_API_KEY": ("deepseek", "api_key", ""),
"DEEPSEEK_BASE_URL": ("deepseek", "base_url", ""),
"GEMINI_API_KEY": ("gemini", "api_key", ""),
"GOOGLE_GEMINI_BASE_URL": ("gemini", "base_url", ""),
"ARK_API_KEY": ("ark", "api_key", ""),
"ARK_BASE_URL": ("ark", "base_url", ""),
"KLING_BASE_URL": ("kling", "base_url", ""),
"KLING_ACCESS_KEY": ("kling", "access_key", ""),
"KLING_SECRET_KEY": ("kling", "secret_key", ""),
}
if name not in mapping:
raise AttributeError(name)
provider, key, default = mapping[name]
value = _provider_config(provider).get(key, default)
env_value = os.getenv(name)
if env_value is not None and env_value != "":
return env_value
return value
class Config(metaclass=_ConfigMeta):
"""Old-style config facade for migrated provider clients."""