Add a basedir argument to nemubot.
Add a signal handler to nemuspeak.
This commit is contained in:
parent
a86d653fdf
commit
ada5b0eeeb
2 changed files with 13 additions and 4 deletions
11
nemubot.py
11
nemubot.py
|
@ -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()))
|
||||||
|
|
|
@ -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()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue