]> jfr.im git - erebus.git/commitdiff
adjust logging
authorzonidjan <redacted>
Fri, 25 Aug 2017 18:55:28 +0000 (13:55 -0500)
committerzonidjan <redacted>
Fri, 25 Aug 2017 18:55:28 +0000 (13:55 -0500)
bot.py
ctlmod.py
erebus.py
modlib.py

diff --git a/bot.py b/bot.py
index c45dbbaf698b249e09f34009ace1f13b2b56c535..245dbef5b0b8c4c4e144781508d8624076fe2db2 100644 (file)
--- a/bot.py
+++ b/bot.py
@@ -36,6 +36,9 @@ class Bot(object):
                curs.close()
 
 
+       def log(self, *args, **kwargs):
+               self.parent.log(self.nick, *args, **kwargs)
+
        def connect(self):
                if self.conn.connect():
                        self.parent.newfd(self, self.conn.socket.fileno())
@@ -48,6 +51,7 @@ class Bot(object):
                        self.conn.send("NICK %s" % (self.permnick))
 
        def parse(self, line):
+               self.log('I', line)
                pieces = line.split()
 
                # dispatch dict
@@ -220,7 +224,8 @@ class Bot(object):
                if int(self.parent.cfg.get('debug', 'cbexc', default=0)) == 1:
                        self.conn.send("PRIVMSG %s :%09.3f ^C4^B!!!^B^C CBEXC %s" % (self.parent.cfg.get('debug', 'owner'), time.time() % 100000, source))
                        __import__('traceback').print_exc()
-                       print "%09.3f %s [!] CBEXC %s %r %r" % (time.time() % 100000, self.nick, source, args, kwargs)
+                       self.log('!', "CBEXC %s %r %r" % (source, args, kwargs))
+#                      print "%09.3f %s [!] CBEXC %s %r %r" % (time.time() % 100000, self.nick, source, args, kwargs)
 
 
        def parsemsg(self, user, target, msg):
@@ -289,7 +294,8 @@ class Bot(object):
        def __debug_nomsg(self, target, msg):
                if int(self.parent.cfg.get('debug', 'nomsg', default=0)) == 1:
                        self.conn.send("PRIVMSG %s :%09.3f \ 34\ 2!!!\ 2\ 3 NOMSG %r, %r" % (self.parent.cfg.get('debug', 'owner'), time.time() % 100000, target, msg))
-                       print "%09.3f %s [!] %s" % (time.time() % 100000, self.nick, "!!! NOMSG")
+                       self.log('!', "!!! NOMSG")
+#                      print "%09.3f %s [!] %s" % (time.time() % 100000, self.nick, "!!! NOMSG")
                        __import__('traceback').print_stack()
 
        def msg(self, target, msg):
@@ -377,7 +383,8 @@ class BotConnection(object):
                return self.state == 2
 
        def send(self, line):
-               print "%09.3f %s [O] %s" % (time.time() % 100000, self.parent.nick, line)
+               self.parent.log('O', line)
+#              print "%09.3f %s [O] %s" % (time.time() % 100000, self.parent.nick, line)
                self._write(line)
 
        def _write(self, line):
@@ -389,8 +396,8 @@ class BotConnection(object):
 
                while "\r\n" in self.buffer:
                        pieces = self.buffer.split("\r\n", 1)
-                       print "%09.3f %s [I] %s" % (time.time() % 100000, self.parent.nick, pieces[0])
-#                      print (time.time() % 1460000000), self.parent.nick, '[I]', pieces[0]
+#                      self.parent.log('I', pieces[0]) # replaced by statement in Bot.parse()
+#                      print "%09.3f %s [I] %s" % (time.time() % 100000, self.parent.nick, pieces[0])
                        lines.append(pieces[0])
                        self.buffer = pieces[1]
 
index f52a7768483f71b58102130fb9566269a111c785..be1095fd7e983dc824c2c92255f530740ead0d0c 100644 (file)
--- a/ctlmod.py
+++ b/ctlmod.py
@@ -6,6 +6,7 @@ import modlib
 
 modules = {}
 dependents = {}
+#dependents[modname] = [list of modules which depend on modname]
 
 def isloaded(modname): return modname in modules
 def modhas(modname, attname): return getattr(modules[modname], attname, None) is not None
@@ -13,15 +14,15 @@ def modhas(modname, attname): return getattr(modules[modname], attname, None) is
 def load(parent, modname, dependent=False):
        #wrapper to call _load and print return
        if dependent:
-               print "Loading dependency %s..." % (modname),
+               print "(Loading dependency %s..." % (modname),
        else:
-               print "%09.3f [MOD] [#] Loading %s... " % (time.time() % 100000, modname),
+               print "%09.3f [MOD] [?] Loading %s..." % (time.time() % 100000, modname),
        modstatus = _load(parent, modname, dependent)
        if not modstatus:
                print str(modstatus)
        elif modstatus == True:
                if dependent:
-                       print "OK",
+                       print "OK)",
                else:
                        print "OK."
        else:
@@ -50,8 +51,8 @@ def _load(parent, modname, dependent=False):
                for dep in mod.modinfo['depends']:
                        if dep not in modules:
                                depret = load(parent, dep, dependent=True)
-                               if not depret:
-                                       return
+                               if depret is not None and not depret:
+                                       return depret #TODO FIXME
                        dependents[dep].append(modname)
 
 
@@ -69,7 +70,7 @@ def unload(parent, modname):
        if isloaded(modname):
                for dependent in dependents[modname]:
                        unload(parent, dependent)
-               for dep in dependents[modname]:
+               for dep in modules[modname].modinfo['depends']:
                        dependents[dep].remove(modname)
                ret = modules[modname].modstop(parent)
                del modules[modname]
index 7588838494f5b314c85f5af9629991419a582aaa..190c4ba2301b0eeb39efe9cb83a7982717b8f150 100644 (file)
--- a/erebus.py
+++ b/erebus.py
@@ -6,7 +6,7 @@
 import os, sys, select, MySQLdb, MySQLdb.cursors, time, random
 import bot, config, ctlmod
 
-class Erebus(object):
+class Erebus(object): #singleton to pass around
        APIVERSION = 1
        RELEASE = 0
 
@@ -204,6 +204,9 @@ class Erebus(object):
        def module(self, name):
                return ctlmod.modules[name]
 
+       def log(self, source, level, message):
+               print "%09.3f %s [%s] %s" % (time.time() % 100000, source, level, message)
+
        #bind functions
        def hook(self, word, handler):
                try:
@@ -247,11 +250,13 @@ class Erebus(object):
 
 class MyCursor(MySQLdb.cursors.DictCursor):
        def execute(self, *args, **kwargs):
-               print "%09.3f [SQL] [#] MyCursor.execute(self, %s, %s)" % (time.time() % 100000, ', '.join([repr(i) for i in args]), ', '.join([str(key)+"="+repr(kwargs[key]) for key in kwargs]))
+               main.log("[SQL]", "?", "MyCursor.execute(self, %s, %s)" % (', '.join([repr(i) for i in args]), ', '.join([str(key)+"="+repr(kwargs[key]) for key in kwargs])))
+#              print "%09.3f [SQL] [#] MyCursor.execute(self, %s, %s)" % (time.time() % 100000, ', '.join([repr(i) for i in args]), ', '.join([str(key)+"="+repr(kwargs[key]) for key in kwargs]))
                try:
-                       super(self.__class__, self).execute(*args, **kwargs)
+                       return super(self.__class__, self).execute(*args, **kwargs)
                except MySQLdb.MySQLError as e:
-                       print "%09.3f [SQL] [!] MySQL error! %r" % (time.time() % 100000, e)
+                       main.log("[SQL]", "!", "MySQL error! %r" % (e))
+#                      print "%09.3f [SQL] [!] MySQL error! %r" % (time.time() % 100000, e)
                        dbsetup()
                        return False
                return True
index 60634eba827fbe14f176f7da1aa912aaefb6463f..89a75d48d5193b7adf5d328e1384ca27c878242c 100644 (file)
--- a/modlib.py
+++ b/modlib.py
@@ -39,7 +39,7 @@ class modlib(object):
                self.helps = []
                self.parent = None
 
-               self.name = (name.split(".", 1))[1]
+               self.name = (name.split("."))[-1]
 
        def modstart(self, parent):
                self.parent = parent