|
|
import os |
|
|
import shutil |
|
|
import toml |
|
|
from loguru import logger |
|
|
|
|
|
root_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) |
|
|
config_file = f"{root_dir}/config.toml" |
|
|
|
|
|
def load_config(): |
|
|
"""Simplified config loading for faster startup""" |
|
|
|
|
|
if not os.path.isfile(config_file): |
|
|
logger.warning(f"Config file not found: {config_file}, using defaults") |
|
|
return { |
|
|
"app": {"max_concurrent_tasks": 1, "api_enabled": True}, |
|
|
"ui": {"hide_log": False}, |
|
|
"azure": {}, |
|
|
"siliconflow": {}, |
|
|
"whisper": {}, |
|
|
"proxy": {} |
|
|
} |
|
|
|
|
|
try: |
|
|
return toml.load(config_file) |
|
|
except Exception as e: |
|
|
logger.warning(f"Config load failed: {e}, using defaults") |
|
|
return { |
|
|
"app": {"max_concurrent_tasks": 1, "api_enabled": True}, |
|
|
"ui": {"hide_log": False}, |
|
|
"azure": {}, |
|
|
"siliconflow": {}, |
|
|
"whisper": {}, |
|
|
"proxy": {} |
|
|
} |
|
|
|
|
|
def save_config(): |
|
|
"""Save current config to file""" |
|
|
try: |
|
|
with open(config_file, "w", encoding="utf-8") as f: |
|
|
_cfg["app"] = app |
|
|
_cfg["azure"] = azure |
|
|
_cfg["siliconflow"] = siliconflow |
|
|
_cfg["ui"] = ui |
|
|
f.write(toml.dumps(_cfg)) |
|
|
except Exception as e: |
|
|
logger.warning(f"Failed to save config: {e}") |
|
|
|
|
|
|
|
|
_cfg = load_config() |
|
|
app = _cfg.get("app", {}) |
|
|
whisper = _cfg.get("whisper", {}) |
|
|
proxy = _cfg.get("proxy", {}) |
|
|
azure = _cfg.get("azure", {}) |
|
|
siliconflow = _cfg.get("siliconflow", {}) |
|
|
ui = _cfg.get("ui", {"hide_log": False}) |
|
|
|
|
|
|
|
|
project_name = "MoneyPrinterTurbo" |
|
|
project_version = "1.2.6" |
|
|
project_description = "AI Video Generator" |
|
|
|
|
|
|
|
|
log_level = "INFO" |
|
|
listen_host = "0.0.0.0" |
|
|
listen_port = 8080 |
|
|
reload_debug = False |
|
|
|
|
|
|
|
|
|
|
|
logger.info(f"{project_name} v{project_version} - Huggingface Spaces") |
|
|
|