def Prettify(o): if isinstance(o, util.KeyVal) and getattr(o, 'charID', None) is not None: import dbg name = dbg.GetCharacterName(o) return name elif hasattr(o, 'name') and hasattr(o, '__guid__'): return '%s (%s)' % (o.name, o.__guid__) else: return str(o)
def logStuff(beginOrEnd, ret = no_ret): if not settings.generic.Get('logDbgTrace', False): return if args and hasattr(args[0], '__guid__'): meth = '.'.join((args[0].__guid__, fn.func_name)) rest = args[1:] else: meth = fn.func_name rest = args spos = map(Prettify, rest) skw = [ '%s=%s' % (name, Prettify(val)) for name, val in kw.iteritems() ] sargs = ', '.join(spos + skw) if ret is no_ret: sret = '' else: sret = ' -> %s' % Prettify(ret) import dbg me = dbg.GetCharacterName() what = (beginOrEnd, me + ':', '%s(%s)%s' % (meth, sargs, sret)) log.methodcalls.Log(' '.join(map(unicode, what)), log.LGNOTICE)