reflect.py 1004 B

12345678910111213141516171819202122232425262728
  1. import sys
  2. from util import commands
  3. from util import parse_line
  4. from logger import Logger
  5. import imp
  6. @commands(".reflect")
  7. def reflect_reload(bot, message, channel):
  8. logger = bot.logger
  9. parsed = parse_line(message)
  10. #for k,v in parsed.__dict__.iteritems():
  11. # print k, ": ", v
  12. body = message.split(":")[2:]
  13. recomposed = "".join(body)
  14. if recomposed.startswith(".reflect reload"):
  15. for m in recomposed.split()[2:]:
  16. if m in sys.modules:
  17. try:
  18. imp.reload(sys.modules[m])
  19. bot.brain.notice(channel, 'reloaded ' + m)
  20. logger.write(Logger.INFO, bot.getName() + ": reloaded " + m, bot.NICK)
  21. except ImportError as e:
  22. bot.brain.notice(channel, 'failed to reload ' + m)
  23. logger.write(Logger.CRITICAL, bot.getName() + ": failed to reload " + m, bot.NICK)
  24. logger.write(Logger.CRITICAL, bot.getName() + ": error was:", bot.NICK)
  25. logger.write(Logger.CRITICAL, bot.getName() + ": " + e, bot.NICK)
  26. return