Add a basedir argument to nemubot.

Add a signal handler to nemuspeak.
This commit is contained in:
Némunaire 2012-04-09 09:43:18 +02:00
parent a86d653fdf
commit ada5b0eeeb
2 changed files with 13 additions and 4 deletions

View file

@ -15,7 +15,7 @@ imports_launch = ["watchWebsite"]
mods = list () mods = list ()
import server import server
if len(sys.argv) == 1: if len(sys.argv) != 2 and len(sys.argv) != 3:
print ("This script takes exactly 1 arg: a XML config file") print ("This script takes exactly 1 arg: a XML config file")
sys.exit(1) sys.exit(1)
@ -29,6 +29,11 @@ def onSignal(signum, frame):
sys.exit (0) sys.exit (0)
signal.signal(signal.SIGINT, onSignal) signal.signal(signal.SIGINT, onSignal)
if len(sys.argv) == 3:
basedir = sys.argv[2]
else:
basedir = "./"
print (basedir, len(sys.argv))
dom = parse(sys.argv[1]) dom = parse(sys.argv[1])
config = dom.getElementsByTagName('config')[0] config = dom.getElementsByTagName('config')[0]
@ -37,7 +42,7 @@ servers = list ()
for imp in imports: for imp in imports:
mod = __import__ (imp) mod = __import__ (imp)
mods.append (mod) mods.append (mod)
mod.load_module ("datas/") mod.load_module (basedir + "/datas/")
for serveur in config.getElementsByTagName('server'): for serveur in config.getElementsByTagName('server'):
srv = server.Server(serveur, config.getAttribute('nick'), config.getAttribute('owner'), config.getAttribute('realname')) srv = server.Server(serveur, config.getAttribute('nick'), config.getAttribute('owner'), config.getAttribute('realname'))
@ -46,7 +51,7 @@ for serveur in config.getElementsByTagName('server'):
for imp in imports_launch: for imp in imports_launch:
mod = __import__ (imp) mod = __import__ (imp)
mod.load_module ("datas/") mod.load_module (basedir + "/datas/")
mod.launch (servers) mod.launch (servers)
print ("Nemubot ready, my PID is %i!" % (os.getpid())) print ("Nemubot ready, my PID is %i!" % (os.getpid()))

View file

@ -13,10 +13,14 @@ from datetime import timedelta
from xml.dom.minidom import parse from xml.dom.minidom import parse
import thread import thread
if len(sys.argv) == 1: if len(sys.argv) <= 1:
print "This script takes exactly 1 arg: a XML config file" print "This script takes exactly 1 arg: a XML config file"
sys.exit(1) sys.exit(1)
def onSignal(signum, frame):
print ("\nSIGINT receive, saving states and close")
sys.exit (0)
signal.signal(signal.SIGINT, onSignal)
SMILEY = list() SMILEY = list()