Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-03-01 10:18:28 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-03-01 10:18:28 (GMT)
commitc37d03962cd4e0420714fe4827809f3a07f68d1d (patch)
tree6f9e9b831a463be19211ec68fdf710c13f49d6f7
parentacdd50db1f75ec182ab634e56dcdb89ad831e702 (diff)
Initialize document classes right before launching server
-rw-r--r--restful_document/server.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/restful_document/server.py b/restful_document/server.py
index 5994c36..321079f 100644
--- a/restful_document/server.py
+++ b/restful_document/server.py
@@ -48,7 +48,7 @@ class Server(object):
home page for the server project
"""
- self._node = None
+ self._documents = None
self._name = name
self._description = description
self._version = version
@@ -88,10 +88,7 @@ class Server(object):
arguments to pass to `ssl.wrap_socket` to enable SSL connections
"""
- if env.master.value:
- self._node = ad.Master(documents)
- else:
- self._node = ad.Node(documents)
+ self._documents = documents
if env.keyfile.value:
self._ssl_args['keyfile'] = env.keyfile.value
@@ -194,8 +191,13 @@ class Server(object):
logging.info(_('Start %s on %s:%s'),
self._name, env.host.value, env.port.value)
+ if env.master.value:
+ node = ad.Master(self._documents)
+ else:
+ node = ad.Node(self._documents)
+
httpd = WSGIServer((env.host.value, env.port.value),
- rd.Router(self._node), **self._ssl_args)
+ rd.Router(node), **self._ssl_args)
def sigterm_cb(signum, frame):
logging.info(_('Got signal %s, will stop %s'), signum, self._name)
@@ -213,7 +215,7 @@ class Server(object):
httpd.serve_forever()
finally:
httpd.stop()
- self._node.close()
+ node.close()
def _check_for_instance(self):
pid = None