diff options
| author | LV-426 <lv-426@taproot.org.il> | 2014-12-06 21:25:52 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2014-12-06 21:25:52 +0200 |
| commit | 6c57c73430d7599ba045db4b518efa5a3c3e3641 (patch) | |
| tree | 5b37fa1ed6d2181a96e1c069817a394285ed7c25 /src-py | |
| parent | 1c142b35db054df6aca833480b74a7ec2daeb34e (diff) | |
misc
Diffstat (limited to 'src-py')
| -rw-r--r-- | src-py/rhizi_server.py | 31 | ||||
| -rwxr-xr-x | src-py/rhizi_server_fcgi.py | 7 |
2 files changed, 26 insertions, 12 deletions
diff --git a/src-py/rhizi_server.py b/src-py/rhizi_server.py index 9b0b479c..f7b3dbb3 100644 --- a/src-py/rhizi_server.py +++ b/src-py/rhizi_server.py @@ -10,10 +10,15 @@ import db_controller as dbc import rhizi_api import flask import crypt_util +import re +from flask import Flask from flask import session from flask import redirect -from flask import url_for +from flask import request +from flask import send_from_directory + +from functools import wraps class Config(object): """ @@ -118,10 +123,14 @@ class FlaskExt(Flask): # ret.headers['Access-Control-Allow-Methods'] = ', '.join(m_list) return ret +def init_log(cfg): + """ + init log file, location derived from configuration + """ log = logging.getLogger('rhizi') log.setLevel(logging.DEBUG) log_handler_c = logging.StreamHandler() - log_handler_f = logging.FileHandler('/var/log/rhizi/rhizi-server.log') + log_handler_f = logging.FileHandler(cfg.log_path) log.addHandler(log_handler_c) log.addHandler(log_handler_f) @@ -206,12 +215,12 @@ def init_rest_api(cfg, flask_webapp): def init_webapp(cfg): root_path = cfg.root_path - webapp = rhizi_api.FlaskExt(__name__, - static_folder='static', - template_folder=os.path.join(root_path, 'templates'), - static_url_path='') + webapp = FlaskExt(__name__, + static_folder='static', + template_folder=os.path.join(root_path, 'templates'), + static_url_path=cfg.static_url_path) webapp.config.from_object(cfg) - webapp.root_path = root_path # for some reason calling config.from_pyfile() + webapp.root_path = root_path # for some reason calling config.from_xxx() does not have effect db_ctl = dbc.DB_Controller(cfg) rhizi_api.db_ctl = db_ctl @@ -232,12 +241,16 @@ if __name__ == "__main__": p.add_argument('--init-htpasswd-db', help='init login htpasswd db', action='store_const', const=True) args = p.parse_args() - log = init_logging() cfg = init_config(args.config_dir) + log = init_log(cfg) + log.debug('loaded configuration:\n%s' % cfg) + if args.init_htpasswd_db: + init_pw_db(cfg) + exit(0) webapp = init_webapp(cfg) - init_rest_api(webapp) + init_rest_api(cfg, webapp) log.info('launching webapp via Flusk development server') webapp.run(host=cfg.listen_address, diff --git a/src-py/rhizi_server_fcgi.py b/src-py/rhizi_server_fcgi.py index bda8d91c..f0b9a04b 100755 --- a/src-py/rhizi_server_fcgi.py +++ b/src-py/rhizi_server_fcgi.py @@ -13,11 +13,12 @@ cgitb.enable() if __name__ == '__main__': cfg_dir = '/etc/rhizi' - cfg = rhizi_server.Config.init_from_file(os.path.join(cfg_dir, 'rhizi-server.conf')) - log = rhizi_server.init_logging() + cfg = rhizi_server.init_config(os.path.join(cfg_dir, 'rhizi-server.conf')) + log = rhizi_server.init_log() + webapp = rhizi_server.init_webapp(cfg) - rhizi_server.init_rest_api(webapp) + rhizi_server.init_rest_api(cfg, webapp) log.info('launching webapp via flup.server.fcgi.WSGIServer') |
