aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/config.py1
-rwxr-xr-xserver/server.py8
2 files changed, 8 insertions, 1 deletions
diff --git a/server/config.py b/server/config.py
index d50d4d7..f693468 100644
--- a/server/config.py
+++ b/server/config.py
@@ -11,5 +11,6 @@ class AliasConfigParser(ConfigParser.RawConfigParser):
self.host = self.get("component", "host")
self.secret = self.get("component", "secret")
self.port = self.getint("component", "port")
+ self.background = self.get("component", "background")
config = AliasConfigParser()
diff --git a/server/server.py b/server/server.py
index d802436..3c80da8 100755
--- a/server/server.py
+++ b/server/server.py
@@ -7,6 +7,8 @@ from sleekxmpp.xmlstream.xmlstream import XMLStream
from user import UserHandler
from config import filename, config
+import daemon
+
class ObjectComponent(ComponentXMPP):
@@ -71,6 +73,9 @@ if __name__ == '__main__':
default = logging.INFO)
commandline.add_argument('-o', '--host',
help = 'Host to connect to')
+ commandline.add_argument('-b', '--background',
+ help = 'run the server in the background',
+ action = 'store_true')
args = commandline.parse_args()
@@ -81,15 +86,16 @@ if __name__ == '__main__':
config.secret = args.secret
config.root = args.root
config.host = args.host
+ config.background = args.background
else:
filename = args.config
logging.basicConfig(level = args.debug)
config.read(filename)
+with daemon.DaemonContext(detach_process=True,pid="alias_server.pid"):
component = ObjectComponent(config.name, config.secret,
config.host, config.port,
config.root)
-
if component.connect():
logging.info('Component {} connected'.format(component.boundjid))
component.process(False)