34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
'''
|
||
插件工具函数
|
||
'''
|
||
import os
|
||
import inspect
|
||
|
||
# 找出模块里所有的类名
|
||
def get_classes(p_name, arg):
|
||
classes = []
|
||
clsmembers = inspect.getmembers(arg, inspect.isclass)
|
||
for (name, _) in clsmembers:
|
||
# print(name, p_name)
|
||
if p_name.lower() == name.lower()[:-6] or name.lower() == "main":
|
||
classes.append(name)
|
||
break
|
||
return classes
|
||
|
||
# 获取一个文件夹下所有的模块, 文件名和文件夹名相同
|
||
def get_modules(path):
|
||
modules = []
|
||
for root, dirs, files in os.walk(path):
|
||
# 获得所在目录名
|
||
p_name = os.path.basename(root)
|
||
for file in files:
|
||
"""
|
||
与文件夹名(不计大小写)相同或者是main.py的,都算启动模块
|
||
"""
|
||
if file.endswith(".py") and not file.startswith("__") and (p_name.lower() == file[:-3].lower() or file[:-3].lower() == "main"):
|
||
modules.append({
|
||
"pname": p_name,
|
||
"module": file[:-3],
|
||
})
|
||
return modules
|
||
|