VWED_server/services/online_script/script_vwed_objects.py

56 lines
1.7 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
VWED统一对象模块系统
提供脚本中可使用的VWED.api、VWED.function等统一接口
"""
from utils.logger import get_logger
# 导入所有模块类
from .built_in_modules.api_module import VWEDApiModule
from .built_in_modules.function_module import VWEDFunctionModule
from .built_in_modules.event_module import VWEDEventModule
from .built_in_modules.timer_module import VWEDTimerModule
from .built_in_modules.log_module import VWEDLogModule
from .built_in_modules.task_module import VWEDTaskModule
from .built_in_modules.data_module import VWEDDataModule
from .built_in_modules.util_module import VWEDUtilModule
from .built_in_modules.device_module import VWEDDeviceModule
logger = get_logger("services.script_vwed_objects")
class VWEDObject:
"""VWED统一对象 - 脚本中的全局VWED变量"""
def __init__(self, script_id: str):
self.script_id = script_id
# 初始化各模块
self.api = VWEDApiModule(script_id)
self.function = VWEDFunctionModule(script_id)
self.event = VWEDEventModule(script_id)
self.timer = VWEDTimerModule(script_id)
self.log = VWEDLogModule(script_id)
self.task = VWEDTaskModule(script_id)
self.data = VWEDDataModule(script_id)
self.util = VWEDUtilModule(script_id)
self.device = VWEDDeviceModule(script_id)
def get_script_id(self) -> str:
"""获取当前脚本ID"""
return self.script_id
def create_vwed_object(script_id: str) -> VWEDObject:
"""创建VWED对象实例"""
return VWEDObject(script_id)
# 导出外部使用的核心函数和类
__all__ = [
'VWEDObject',
'create_vwed_object'
]