jacob614

scripts.py

May 10th, 2014
490
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.38 KB | None | 0 0
  1. import hexchat
  2. import imp
  3. import sys
  4.  
  5. __module_name__ = "jacob1's script loader"
  6. __module_version__ = "1.0"
  7. __module_description__ = "Loads jacob1.py, misc.py, commands.py, crafting.py, and werewolf.py"
  8.  
  9. scripts = {}
  10. unload = {}
  11.  
  12. #load a script, first unloading if it's already loaded
  13. def script_load(name):
  14.     if name in scripts:
  15.         script_unload(name)
  16.     try:
  17.         scripts[name] = imp.load_source("jacob1", "/home/jacob/.config/hexchat/scripts/" + name + ".py")
  18.         unload[name] = scripts[name].hook_unload
  19.     except:
  20.         print "Error loading script:", sys.exc_info()[1]
  21.         pass
  22.  
  23. #unload a script, backup werewolf data
  24. def script_unload(name):
  25.     try:
  26.         unload[name]()
  27.         scripts.pop(name)
  28.         unload.pop(name)
  29.     except:
  30.         print "Error unloading script:", sys.exc_info()[1]
  31.         pass
  32.  
  33. #reload hook for reloading commands
  34. def script_unload_hook(word, word_eol, userdata):
  35.     script_unload(userdata)
  36.     script_load(userdata)
  37.     return hexchat.EAT_HEXCHAT
  38.  
  39. script_load("jacob1")
  40. hexchat.hook_command("rl", script_unload_hook, "jacob1")
  41.  
  42. script_load("misc")
  43. hexchat.hook_command("rlm", script_unload_hook, "misc")
  44.  
  45. script_load("commands")
  46. hexchat.hook_command("rlc", script_unload_hook, "commands")
  47.  
  48. script_load("werewolf")
  49. hexchat.hook_command("rlw", script_unload_hook, "werewolf")
  50.  
  51. script_load("crafting")
Advertisement
Add Comment
Please, Sign In to add comment