Fix issue #14 - remove plugins on reload

This fix for load_plugins will clear the plugin.cmds list to ensure that
removed plugins don't remain in its cmds list.
pull/15/head
importantchoice 2017-11-30 12:12:33 +01:00
parent d4f0edda00
commit a7a2cf383d
2 changed files with 7 additions and 0 deletions

View File

@ -2,6 +2,7 @@ import imp
import os import os
import ssl import ssl
import time import time
import pinhook.plugin
import irc.bot import irc.bot
@ -48,6 +49,8 @@ class Bot(irc.bot.SingleServerIRCBot):
setattr(self, a, kwarguments[a]) setattr(self, a, kwarguments[a])
def load_plugins(self): def load_plugins(self):
# clear plugin list to ensure no old plugins remain
pinhook.plugin.clear_plugins()
# ensure plugin folder exists # ensure plugin folder exists
if not os.path.exists(self.plugin_dir): if not os.path.exists(self.plugin_dir):
os.makedirs(self.plugin_dir) os.makedirs(self.plugin_dir)

View File

@ -21,6 +21,10 @@ def add_plugin(command, func):
cmds.append({'cmd': command, 'func': func}) cmds.append({'cmd': command, 'func': func})
def clear_plugins():
cmds.clear()
def register(command): def register(command):
def register_for_command(func): def register_for_command(func):
add_plugin(command, func) add_plugin(command, func)