You've already forked FrameTour-RenderWorker
70 lines
1.9 KiB
Python
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
|