summaryrefslogtreecommitdiff
path: root/beinc_server.py
diff options
context:
space:
mode:
Diffstat (limited to 'beinc_server.py')
-rwxr-xr-xbeinc_server.py63
1 files changed, 32 insertions, 31 deletions
diff --git a/beinc_server.py b/beinc_server.py
index 05568b6..1ed5563 100755
--- a/beinc_server.py
+++ b/beinc_server.py
@@ -235,35 +235,39 @@ def main():
235 235
236 parser = argparse.ArgumentParser( 236 parser = argparse.ArgumentParser(
237 description='The following options are available') 237 description='The following options are available')
238 parser.add_argument('-d', 238 parser.add_argument(
239 action='store_true', 239 '-d',
240 dest='daemonize', 240 action='store_true',
241 default=False, 241 dest='daemonize',
242 help='daemonize the server process') 242 default=False,
243 parser.add_argument('-H', '--hostname', 243 help='Run the BEINC-server in the background')
244 metavar='HOSTNAME', 244 parser.add_argument(
245 type=str, 245 '-H', '--hostname',
246 dest='hostname', 246 metavar='HOSTNAME',
247 default='127.0.0.1', 247 type=str,
248 help="Server IP / hostname") 248 dest='hostname',
249 parser.add_argument('-p', '--port', 249 default='127.0.0.1',
250 metavar='PORT', 250 help='BEINC server IP / hostname (default: 127.0.0.1)')
251 type=int, 251 parser.add_argument(
252 dest='port', 252 '-p', '--port',
253 default=9998, 253 metavar='PORT',
254 help="Server port") 254 type=int,
255 parser.add_argument('-c', '--config-file', 255 dest='port',
256 metavar='FILE', 256 default=9998,
257 type=str, 257 help='BEINC server port (default: 9998)')
258 default=os.path.expanduser('~/.beinc_server.json'), 258 parser.add_argument(
259 dest='config_file', 259 '-f', '--config-file',
260 help="config file") 260 metavar='FILE',
261 parser.add_argument('-v', '--version', 261 type=str,
262 action='version', 262 default=os.path.expanduser('~/.beinc_server.json'),
263 version='%(prog)s {0}'.format(__version__), 263 dest='config_file',
264 help='display program-version and exit') 264 help='BEINC config file (default: ~/.beinc_server.json)')
265 parser.add_argument(
266 '-v', '--version',
267 action='version',
268 version='%(prog)s {0}'.format(__version__),
269 help='Display program-version and exit')
265 args = parser.parse_args() 270 args = parser.parse_args()
266
267 try: 271 try:
268 with open(args.config_file, 'r') as fp: 272 with open(args.config_file, 'r') as fp:
269 config_dict = json.load(fp) 273 config_dict = json.load(fp)
@@ -271,7 +275,6 @@ def main():
271 sys.stderr.write('Unable to parse {0}: {1}'.format(args.config_file, 275 sys.stderr.write('Unable to parse {0}: {1}'.format(args.config_file,
272 e)) 276 e))
273 sys.exit(errno.EIO) 277 sys.exit(errno.EIO)
274
275 ssl_certificate = config_dict['server']['general']['ssl_certificate'] 278 ssl_certificate = config_dict['server']['general']['ssl_certificate']
276 ssl_private_key = config_dict['server']['general']['ssl_private_key'] 279 ssl_private_key = config_dict['server']['general']['ssl_private_key']
277 cherrypy.config.update({ 280 cherrypy.config.update({
@@ -285,13 +288,11 @@ def main():
285 'tools.log_tracebacks.on': False, 288 'tools.log_tracebacks.on': False,
286 'request.show_tracebacks': False 289 'request.show_tracebacks': False
287 }) 290 })
288
289 try: 291 try:
290 cherrypy.quickstart(WebNotifyServer(config_dict)) 292 cherrypy.quickstart(WebNotifyServer(config_dict))
291 except Exception as e: 293 except Exception as e:
292 sys.stderr.write("WebServer error: {0}".format(e)) 294 sys.stderr.write("WebServer error: {0}".format(e))
293 sys.exit(1) 295 sys.exit(1)
294
295 sys.exit(0) 296 sys.exit(0)
296 297
297 298