Source code for modules.snippets.reflect

import sys
from util import commands
from util import parse_line
from logger import Logger
import imp


[docs]@commands(".reflect") def reflect_reload(bot, message, channel): logger = bot.logger parse_line(message) # for k,v in parsed.__dict__.iteritems(): # print k, ": ", v body = message.split(":")[2:] recomposed = "".join(body) if recomposed.startswith(".reflect reload"): for m in recomposed.split()[2:]: if m in sys.modules: try: imp.reload(sys.modules[m]) bot.brain.notice(channel, 'reloaded ' + m) logger.write( Logger.INFO, bot.getName() + ": reloaded " + m, bot.NICK) except ImportError as e: bot.brain.notice(channel, 'failed to reload ' + m) logger.write( Logger.CRITICAL, bot.getName() + ": failed to reload " + m, bot.NICK) logger.write( Logger.CRITICAL, bot.getName() + ": error was:", bot.NICK) logger.write( Logger.CRITICAL, bot.getName() + ": " + e, bot.NICK) return