Files
FrameTour-RenderWorker/template/__init__.py
2025-09-12 14:41:58 +08:00

70 lines
1.9 KiB
Python

import json
import os
import logging
from telemetry import get_tracer
from util import api, oss
from services.template_service import DefaultTemplateService
logger = logging.getLogger("template")
# 全局模板服务实例
_template_service = None
def _get_template_service():
"""获取模板服务实例"""
global _template_service
if _template_service is None:
_template_service = DefaultTemplateService()
return _template_service
# 向后兼容的全局变量和函数
TEMPLATES = {}
def _update_templates_dict():
"""更新全局TEMPLATES字典以保持向后兼容"""
service = _get_template_service()
TEMPLATES.clear()
TEMPLATES.update(service.templates)
def check_local_template(local_name):
"""向后兼容函数"""
service = _get_template_service()
template_def = service.templates.get(local_name)
if template_def:
try:
service.validate_template(template_def)
except Exception as e:
logger.error(f"Template validation failed: {e}")
raise
def load_template(template_name, local_path):
"""向后兼容函数"""
service = _get_template_service()
service._load_template(template_name, local_path)
_update_templates_dict()
def load_local_template():
"""加载本地模板(向后兼容函数)"""
service = _get_template_service()
service.load_local_templates()
_update_templates_dict()
def get_template_def(template_id):
"""获取模板定义(向后兼容函数)"""
service = _get_template_service()
template = service.get_template(template_id)
_update_templates_dict()
return template
def download_template(template_id):
"""下载模板(向后兼容函数)"""
service = _get_template_service()
success = service.download_template(template_id)
_update_templates_dict()
return success
def analyze_template(template_id):
"""分析模板(占位符函数)"""
pass