コード例 #1
0
ファイル: plug.py プロジェクト: RetroRodent/my-gozerbot
def handle_plugenable(bot, ievent):
    doall = False
    if '-a' in ievent.optionset:
        doall = True
    if not ievent.rest and not doall:
        ievent.missing('<plugname>')
        return
    try:
        plugs = gozer_import('gozerplugs').__plugs__
    except ImportError:
        ievent.reply("no gozerplugs package detected")
        return
    if not doall:
        plugs = ievent.rest.split()
    ievent.reply("trying to reload: ", plugs, dot=True)
    errors = []
    reloaded = []
    failed = []
    for plug in plugs:
        try:
            reloaded.extend(plugins.reload('gozerplugs', plug))
        except ImportError, ex:
            errors.append(str(ex))
            failed.append(plug)
        except Exception, ex:
            handle_exception()
            errors.append(exceptionmsg())
            failed.append(plug)
コード例 #2
0
ファイル: reload.py プロジェクト: blaxter/my-gozerbot
def handle_reload(bot, ievent):
    """ reload <plugin> .. reload a plugin """
    try:
        plugs = ievent.args
    except IndexError:
        ievent.missing("<list plugins>")
        return
    reloaded = []
    errors = []
    for plug in plugs:
        plug = plug.lower()
        if plug == "config":
            config.reload()
            ievent.reply("config reloaded")
            continue
        p = gozer_import("gozerbot.plugs.__init__")
        if plug in p.__plugs__:
            reloaded.extend(plugins.reload("gozerbot.plugs", plug))
            continue
        try:
            reloaded.extend(plugins.reload("myplugs", plug))
        except ImportError, ex:
            try:
                reloaded.extend(plugins.reload("gozerplugs", plug))
            except ImportError, ex:
                errors.append(str(ex))
コード例 #3
0
ファイル: plug.py プロジェクト: GuillaumeFromage/my-gozerbot
def handle_plugenable(bot, ievent):
    doall = False
    if '-a' in ievent.optionset:
        doall = True
    if not ievent.rest and not doall:
        ievent.missing('<plugname>')
        return
    try:
        plugs = gozer_import('gozerplugs').__plugs__
    except ImportError:
        ievent.reply("no gozerplugs package detected")
        return
    if not doall:
        plugs = ievent.rest.split()
    ievent.reply("trying to reload: ", plugs, dot=True)
    errors = []
    reloaded = []
    failed = []
    for plug in plugs:
        try:
            reloaded.extend(plugins.reload('gozerplugs', plug))
        except ImportError, ex:
            errors.append(str(ex))
            failed.append(plug)
        except Exception, ex:
            handle_exception()
            errors.append(exceptionmsg())
            failed.append(plug)
コード例 #4
0
def handle_reload(bot, ievent):
    """ reload <plugin> .. reload a plugin """
    try:
        plugs = ievent.args
    except IndexError:
        ievent.missing('<list plugins>')
        return
    reloaded = []
    errors = []
    for plug in plugs:
        plug = plug.lower()
        if plug == 'config':
            config.reload()
            ievent.reply('config reloaded')
            continue
        p = gozer_import('gozerbot.plugs.__init__')
        if plug in p.__plugs__:
            reloaded.extend(plugins.reload('gozerbot.plugs', plug))
            continue
        try:
            reloaded.extend(plugins.reload('myplugs', plug))
        except ImportError, ex:
            try:
                reloaded.extend(plugins.reload('gozerplugs', plug))
            except ImportError, ex:
                errors.append(str(ex))
コード例 #5
0
ファイル: server.py プロジェクト: RetroRodent/my-gozerbot
 def reloadhandler(self, mod):
     """ reload web handler """
     try:
         module = sys.modules['gozerplugs.webserver.webplugs.%s' % mod]
         reload(module)
         self.webmods[mod] = module
     except KeyError:
         self.webmods[mod] = gozer_import('gozerplugs.webserver.webplugs.%s' % mod)
コード例 #6
0
 def reloadhandler(self, mod):
     """ reload web handler """
     try:
         module = sys.modules['gozerplugs.webserver.webplugs.%s' % mod]
         reload(module)
         self.webmods[mod] = module
     except KeyError:
         self.webmods[mod] = gozer_import(
             'gozerplugs.webserver.webplugs.%s' % mod)
コード例 #7
0
webhostname = cfg.get('webhost')
webport = cfg.get('webport')


def init():
    """ init webserver plugin """
    global httpd
    try:
        if doit:
            httpd = BotHTTPServer((webhostname, webport),
                                  BotHTTPRequestHandler)
    except Exception, ex:
        rlog(10, 'webserver', "can't start server: %s" % str(ex))
        return 0
    if httpd:
        webplugs = gozer_import('gozerplugs.webserver.webplugs')
        for i in webplugs.__all__:
            if i not in cfg.get('denyplugs'):
                try:
                    httpd.reloadhandler(i)
                except:
                    handle_exception()
        start_new_thread(httpd.run, ())
    return 1


def shutdown():
    """ shutdown webserver plugin """
    global httpd
    if not httpd:
        return 1
コード例 #8
0
ファイル: server.py プロジェクト: RetroRodent/my-gozerbot
    if not users.getname('web@web'):
        users.add('web', ['web@web', ], ['WEB', ])
webhostname = cfg.get('webhost')
webport = cfg.get('webport')

def init():
    """ init webserver plugin """
    global httpd
    try:
        if doit:
            httpd = BotHTTPServer((webhostname, webport), BotHTTPRequestHandler)
    except Exception, ex:
        rlog(10, 'webserver', "can't start server: %s" % str(ex))
        return 0
    if httpd:
        webplugs = gozer_import('gozerplugs.webserver.webplugs')
        for i in webplugs.__all__:
            if i not in cfg.get('denyplugs'):
                try:
                    httpd.reloadhandler(i)
                except:
                    handle_exception()
        start_new_thread(httpd.run, ())
    return 1
    
def shutdown():
    """ shutdown webserver plugin """
    global httpd
    if not httpd:
        return 1
    try: