more comments if you wanted them

This commit is contained in:
Luke Rogers 2013-10-09 20:13:08 +13:00
parent 74b6c1f9a7
commit b6c20d7dca

View file

@ -64,6 +64,7 @@ class PluginLoader(object):
namespace = {}
eval(code, namespace)
except Exception:
# plugin has errors, print them!
traceback.print_exc()
return
@ -83,13 +84,16 @@ class PluginLoader(object):
for obj in namespace.itervalues():
if hasattr(obj, '_hook'): # check for magic
if obj._thread:
# TODO: pretty sure this is broken
self.bot.threads[obj] = main.Handler(self.bot, obj)
for type, data in obj._hook:
# add plugin to the plugin list
self.bot.plugins[type] += [data]
if not loaded_all:
self.bot.logger.info("Loaded plugin: {} ({})".format(format_plug(data), type))
# do a rebuild, unless the bot is loading all plugins (rebuild happens after load_all)
if not loaded_all:
self.rebuild()
@ -99,9 +103,11 @@ class PluginLoader(object):
filename = os.path.basename(path)
self.bot.logger.info("Unloading plugins from: {}".format(filename))
# remove plugins from the plugin list if they are from this file
for plugin_type, plugins in self.bot.plugins.iteritems():
self.bot.plugins[plugin_type] = [x for x in plugins if x[0]._filename != filename]
# stop all currently running instances of the plugins from this file
for func, handler in list(self.bot.threads.iteritems()):
if func._filename == filename:
main.handler.stop()
@ -136,7 +142,6 @@ class PluginEventHandler(Trick):
self.loader = loader
Trick.__init__(self, *args, **kwargs)
def on_created(self, event):
self.loader.load_file(event.src_path)