Add some more logging to plugin load/unload

This commit is contained in:
David Vierra 2016-05-21 18:21:16 -10:00
parent 2f03c9487c
commit 02b7a55892

View File

@ -158,12 +158,14 @@ class PluginRef(object):
else: else:
self.unloadError = None self.unloadError = None
finally: finally:
log.info("Unloading plugin %s", self.displayName)
self.pluginModule = None self.pluginModule = None
deadKeys = [] deadKeys = []
for k, v in sys.modules.iteritems(): for k, v in sys.modules.iteritems():
if v is module: if v is module:
deadKeys.append(k) deadKeys.append(k)
assert len(deadKeys), "Plugin %s not in sys.modules (uh-oh)" % (self.displayName,)
for k in deadKeys: for k in deadKeys:
sys.modules.pop(k) sys.modules.pop(k)
log.info("Removed module %s from sys.modules", k) log.info("Removed module %s from sys.modules", k)
@ -171,6 +173,7 @@ class PluginRef(object):
classes = _pluginClassesByPathname.pop(self.fullpath) classes = _pluginClassesByPathname.pop(self.fullpath)
if classes: if classes:
for cls in classes: for cls in classes:
log.info("Unregistered %s", cls)
_unregisterClass(cls) _unregisterClass(cls)
_loadedModules.pop(module.__FOUND_FILENAME__) _loadedModules.pop(module.__FOUND_FILENAME__)