MCPcopy
hub / github.com/nonebot/nonebot2 / find_spec

Method find_spec

nonebot/plugin/manager.py:210–228  ·  view source on GitHub ↗
(
        self,
        fullname: str,
        path: Sequence[str] | None,
        target: ModuleType | None = None,
    )

Source from the content-addressed store, hash-verified

208
209class PluginFinder(MetaPathFinder):
210 def find_spec(
211 self,
212 fullname: str,
213 path: Sequence[str] | None,
214 target: ModuleType | None = None,
215 ):
216 if _managers:
217 module_spec = PathFinder.find_spec(fullname, path, target)
218 if not module_spec:
219 return
220 module_origin = module_spec.origin
221 if not module_origin:
222 return
223
224 for manager in reversed(_managers):
225 if fullname in manager.controlled_modules.values():
226 module_spec.loader = PluginLoader(manager, fullname, module_origin)
227 return module_spec
228 return
229
230
231class PluginLoader(SourceFileLoader):

Callers 1

_prepare_pluginsMethod · 0.80

Calls 2

PluginLoaderClass · 0.85
valuesMethod · 0.45

Tested by

no test coverage detected