diff options
| author | LV-426 <lv-426@taproot.org.il> | 2014-12-28 17:48:00 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2014-12-28 17:52:13 +0200 |
| commit | 94325381eed478198398daa52e076e9a897337d5 (patch) | |
| tree | d108c335e9bfd24e8460bc77ce547d226c908188 /src/server | |
| parent | d8e3c8e9ffd4fd88239afa465871fb6cc304c74d (diff) | |
init sequence refactoring: start SocketIO server by default
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/rhizi_server.py | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/server/rhizi_server.py b/src/server/rhizi_server.py index 29e8552c..58ede0c2 100644 --- a/src/server/rhizi_server.py +++ b/src/server/rhizi_server.py @@ -13,12 +13,14 @@ import crypt_util import re from flask import Flask +from flask import Response from flask import session from flask import redirect from flask import request from flask import send_from_directory from functools import wraps +from rz_mesh import init_ws_interface class Config(object): """ @@ -141,9 +143,9 @@ def init_log(cfg): log.addHandler(log_handler_f) return log -def init_rest_api(cfg, flask_webapp): +def init_rest_interface(cfg, flask_webapp): """ - map REST API calls + Initialize REST interface """ def rest_entry(path, f, flask_args={'methods': ['POST']}): @@ -218,8 +220,13 @@ def init_rest_api(cfg, flask_webapp): flask_webapp.f = f # assign decorated function -def init_webapp(cfg): +def init_webapp(cfg, db_ctl=None): + """ + Initialize webapp: + - call init_rest_interface() + """ root_path = cfg.root_path + webapp = FlaskExt(__name__, static_folder='static', template_folder=os.path.join(root_path, 'templates'), @@ -227,10 +234,13 @@ def init_webapp(cfg): webapp.config.from_object(cfg) webapp.root_path = root_path # for some reason calling config.from_xxx() does not have effect - db_ctl = dbc.DB_Controller(cfg) + if None == db_ctl: + db_ctl = dbc.DB_Controller(cfg) rhizi_api.db_ctl = db_ctl webapp.rz_config = cfg + + init_rest_interface(cfg, webapp) return webapp def init_config(cfg_dir): @@ -259,9 +269,7 @@ if __name__ == "__main__": exit(0) webapp = init_webapp(cfg) - init_rest_api(cfg, webapp) + ws_srv = init_ws_interface(cfg, webapp) + ws_srv.serve_forever() - log.info('launching webapp via Flask development server') - webapp.run(host=cfg.listen_address, - port=cfg.listen_port) |
