Ejemplo n.º 1
0
Archivo: irc.py Proyecto: dpk/duxlot
    def reload(self, sender=None, nick=None):
        import imp

        def error(msg):
            if sender and nick:
                self.public.msg(sender, nick + ": " + msg)

        duxlot.clear()

        sys.path[:0] = [duxlot.path]
        imp.reload(api)
        sys.path[:1] = []

        for (directory, module_name), module in self.modules.items():
            sys.path[:0] = [directory, duxlot.path]

            try: reloaded = imp.reload(module)
            except Exception as err:
                message = "%s: %s" % (err.__class__.__name__, err)
                debug(message)
                error(message)

                return False
            else:
                self.modules[(directory, module_name)] = reloaded
            finally:
                sys.path[:2] = []

        return True
Ejemplo n.º 2
0
Archivo: irc.py Proyecto: dpk/duxlot
    def reload(self, sender=None, nick=None):
        import imp

        def error(msg):
            if sender and nick:
                self.public.msg(sender, nick + ": " + msg)

        duxlot.clear()

        sys.path[:0] = [duxlot.path]
        imp.reload(api)
        sys.path[:1] = []

        for (directory, module_name), module in self.modules.items():
            sys.path[:0] = [directory, duxlot.path]

            try:
                reloaded = imp.reload(module)
            except Exception as err:
                message = "%s: %s" % (err.__class__.__name__, err)
                debug(message)
                error(message)

                return False
            else:
                self.modules[(directory, module_name)] = reloaded
            finally:
                sys.path[:2] = []

        return True