(cls, pluginName: str)
| 71 | |
| 72 | @classmethod |
| 73 | def load(cls, pluginName: str) -> Plugin | None: |
| 74 | importedPlugin: Plugin = __import__( |
| 75 | f"Plugins.{pluginName}.{pluginName}", fromlist=[pluginName] |
| 76 | ) |
| 77 | importedPlugin = importedPlugin.__getattribute__(pluginName) |
| 78 | try: |
| 79 | importedPlugin.pluginName = pluginName |
| 80 | importedPluginConfig: dict = loads(readFile(f"./Plugins/{pluginName}/config.json")) |
| 81 | importedPlugin.version = importedPluginConfig.get("version") |
| 82 | importedPlugin.description = importedPluginConfig.get("description") |
| 83 | importedPlugin.author = importedPluginConfig.get("author") |
| 84 | importedPlugin.authorEmail = importedPluginConfig.get("author_email") |
| 85 | if "icon" in importedPluginConfig: |
| 86 | importedPlugin.icon = importedPluginConfig.get("icon") |
| 87 | |
| 88 | except Exception: |
| 89 | raise Warning("读取配置错误", pluginName) |
| 90 | if importedPlugin.__class__.__name__ == Plugin.__name__: |
| 91 | return importedPlugin |
| 92 | else: |
| 93 | return None |
| 94 | |
| 95 | @classmethod |
| 96 | def getInfo(cls, pluginName: str) -> PluginType: |
no test coverage detected