-xmlconfig.reloadConfig()
-
-if(config.reactor == "epoll"):
- from twisted.internet import epollreactor
- epollreactor.install()
-elif(config.reactor == "poll"):
- from twisted.internet import pollreactor
- pollreactor.install()
-elif(config.reactor == "kqueue"):
- from twisted.internet import kqreactor
- kqreactor.install()
-elif(len(config.reactor) > 0):
- print "Unknown reactor: ", config.reactor, "Using default reactor"
+configFile = "config.xml"
+configOptions = {}
+opts, args = getopt.getopt(sys.argv[1:], "bc:o:dDgtlp:h", ["background", "config=", "option=", "debug", "Debug", "garbage", "traceback", "log=", "pid=", "help"])
+for o, v in opts:
+ if o in ("-c", "--config"):
+ configFile = v
+ elif o in ("-b", "--background"):
+ config.background = True
+ elif o in ("-d", "--debug"):
+ config.debugLevel = "2"
+ elif o in ("-D", "--Debug"):
+ config.debugLevel = "3"
+ elif o in ("-g", "--garbage"):
+ import gc
+ gc.set_debug(gc.DEBUG_LEAK|gc.DEBUG_STATS)
+ elif o in ("-t", "--traceback"):
+ config.debugLevel = "1"
+ elif o in ("-l", "--log"):
+ config.debugFile = v
+ elif o in ("-p", "--pid"):
+ config.pid = v
+ elif o in ("-o", "--option"):
+ var, setting = v.split("=", 2)
+ configOptions[var] = setting
+ elif o in ("-h", "--help"):
+ print "%s [options]" % sys.argv[0]
+ print " -h print this help"
+ print " -b daemonize/background transport"
+ print " -c <file> read configuration from this file"
+ print " -d print debugging output"
+ print " -D print extended debugging output"
+ print " -g print garbage collection output"
+ print " -t print debugging only on traceback"
+ print " -l <file> write debugging output to file"
+ print " -p <file> write process ID to file"
+ print " -o <var>=<setting> set config var to setting"
+ sys.exit(0)
+
+xmlconfig.reloadConfig(configFile, configOptions)
+
+if config.reactor:
+ # They picked their own reactor. Lets install it.
+ del sys.modules["twisted.internet.reactor"]
+ if config.reactor == "epoll":
+ from twisted.internet import epollreactor
+ epollreactor.install()
+ elif config.reactor == "poll":
+ from twisted.internet import pollreactor
+ pollreactor.install()
+ elif config.reactor == "kqueue":
+ from twisted.internet import kqreactor
+ kqreactor.install()
+ elif len(config.reactor) > 0:
+ print "Unknown reactor: ", config.reactor, ". Using select(), reactor."
+