This commit is contained in:
2025-11-24 22:26:56 +08:00
parent e4c713035b
commit 719058ff01
8 changed files with 310 additions and 33 deletions

View File

@@ -0,0 +1,89 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Studio Library Wrapper Module
用于简化 Studio Library 的导入和使用
支持 Maya 2017-2026+ 所有版本
"""
import sys
import os
# 获取当前目录
_current_dir = os.path.dirname(os.path.abspath(__file__))
# 确保所有子模块路径都在 sys.path 中
_required_paths = [
_current_dir,
os.path.join(_current_dir, 'studiolibrary'),
os.path.join(_current_dir, 'studiolibrarymaya'),
os.path.join(_current_dir, 'mutils'),
os.path.join(_current_dir, 'studioqt'),
os.path.join(_current_dir, 'studiovendor'),
]
for _path in _required_paths:
if _path not in sys.path:
sys.path.insert(0, _path)
# 从内层 studiolibrary 模块导入所有功能
try:
from studiolibrary import (
__version__,
version,
config,
resource,
Library,
LibraryItem,
main,
)
# 导入工具函数
from studiolibrary.utils import *
# 导出所有公共接口
__all__ = [
'__version__',
'version',
'config',
'resource',
'Library',
'LibraryItem',
'main',
]
except ImportError as e:
import traceback
print("Failed to import studiolibrary:")
print(traceback.format_exc())
raise
def show(*args, **kwargs):
"""
便捷函数:启动 Studio Library
Args:
*args: 传递给 main() 的位置参数
**kwargs: 传递给 main() 的关键字参数
Returns:
LibraryWindow: Studio Library 窗口实例
"""
return main(*args, **kwargs)
def isMaya():
"""
检查是否在 Maya 环境中运行
Returns:
bool: 如果在 Maya 中返回 True否则返回 False
"""
try:
import maya.cmds
maya.cmds.about(batch=True)
return True
except ImportError:
return False