diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-03-01 10:18:28 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-03-01 10:18:28 (GMT) |
commit | c37d03962cd4e0420714fe4827809f3a07f68d1d (patch) | |
tree | 6f9e9b831a463be19211ec68fdf710c13f49d6f7 | |
parent | acdd50db1f75ec182ab634e56dcdb89ad831e702 (diff) |
Initialize document classes right before launching server
-rw-r--r-- | restful_document/server.py | 16 |
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 |