chiark / gitweb /
move more stuff
[hippotat.git] / server
diff --git a/server b/server
index 29321e9435bab3f8deff72824246a0ff849f24de..66de6e5b794d14113193f2b2560805938142e257 100755 (executable)
--- a/server
+++ b/server
@@ -8,17 +8,10 @@ import os
 import twisted.internet
 import twisted.internet.endpoints
 from twisted.web.server import NOT_DONE_YET
-from twisted.logger import LogLevel
 
 #import twisted.web.server import Site
 #from twisted.web.resource import Resource
 
-from optparse import OptionParser
-from configparser import ConfigParser
-from configparser import NoOptionError
-
-import collections
-
 import syslog
 
 clients = { }
@@ -48,20 +41,6 @@ max_request_time = 121
 target_requests_outstanding = 10
 '''
 
-#---------- error handling ----------
-
-def crash(err):
-  print('CRASH ', err, file=sys.stderr)
-  try: reactor.stop()
-  except twisted.internet.error.ReactorNotRunning: pass
-
-def crash_on_defer(defer):
-  defer.addErrback(lambda err: crash(err))
-
-def crash_on_critical(event):
-  if event.get('log_level') >= LogLevel.critical:
-    crash(twisted.logger.formatEvent(event))
-
 #---------- "router" ----------
 
 def route(packet, saddr, daddr):
@@ -256,25 +235,10 @@ def process_cfg():
   ipif_command = cfg.get('server','ipif', vars=iic_vars)
 
 def startup():
-  global cfg
-
-  op = OptionParser()
-  op.add_option('-c', '--config', dest='configfile',
-                default='/etc/hippottd/server.conf')
-  global opts
-  (opts, args) = op.parse_args()
-  if len(args): op.error('no non-option arguments please')
-
-  twisted.logger.globalLogPublisher.addObserver(crash_on_critical)
-
-  cfg = ConfigParser()
-  cfg.read_string(defcfg)
-  cfg.read(opts.configfile)
+  common_startup(defcfg)
   process_cfg()
-
   start_ipif(ipif_command, route)
   start_http()
 
 startup()
-reactor.run()
-print('CRASHED (end)', file=sys.stderr)
+common_run()