Import plugins from string referenced modules.

This commit is contained in:
Lance Stout 2010-10-17 15:47:24 -04:00
parent 505a63da3a
commit faec86b3be

View file

@ -176,6 +176,10 @@ class BaseXMPP(XMLStream):
module = sleekxmpp.plugins
module = __import__("%s.%s" % (module.__name__, plugin),
globals(), locals(), [plugin])
if isinstance(module, str):
# We probably want to load a module from outside
# the sleekxmpp package, so leave out the globals().
module = __import__(module, fromlist=[plugin])
# Load the plugin class from the module.
self.plugin[plugin] = getattr(module, plugin)(self, pconfig)