代码拉取完成,页面将自动刷新
同步操作将从 compilelife/bitinsight 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
from importlib import import_module
import inspect
from table import Table
from bitstream import BitStream
from doc import Doc
class Plugin:
def __init__(self):
self.exports = {}
self.doc = Doc()
self.default = ''
self.name = ''
def load_plugin(name):
mod = import_module('.main', 'plugins.'+name)
bs = BitStream(bytes([]))
t = Table('inspect', None, bs)
plugin = Plugin()
plugin.name = name
for attr in dir(mod):
if attr.startswith('__'):
continue
obj = getattr(mod, attr)
if not inspect.isfunction(obj):
continue
sig = inspect.signature(obj)
try:
sig.bind(t, bs)
if attr == 'default_parser':
plugin.default = attr
plugin.exports[attr] = obj
except TypeError as e:
continue
if len(plugin.default) == 0 and len(plugin.exports) > 0:
plugin.default = list(plugin.exports.keys())[0]
plugin.doc.parse('plugins/'+name+'/doc.md')
return plugin
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。