diff options
Diffstat (limited to 'reports')
-rw-r--r-- | reports/reports.wsgi | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/reports/reports.wsgi b/reports/reports.wsgi index 92401d763..7113b3308 100644 --- a/reports/reports.wsgi +++ b/reports/reports.wsgi @@ -1,9 +1,21 @@ import os -import Bcfg2.settings -os.environ['DJANGO_SETTINGS_MODULE'] = 'Bcfg2.settings' +import Bcfg2.Options +import Bcfg2.DBSettings + +config_parsed = False + import django.core.handlers.wsgi + def application(environ, start_response): - if 'BCFG2_CONFIG_FILE' in environ: - Bcfg2.settings.read_config(cfile=environ['BCFG2_CONFIG_FILE']) - return django.core.handlers.wsgi.WSGIHandler()(environ, start_response) + global config_parsed + + # with wsgi, the environment isn't present in os.environ, but + # is passwd to the application function + if 'BCFG2_CONFIG_FILE' in environ: + os.environ['BCFG2_CONFIG_FILE'] = environ['BCFG2_CONFIG_FILE'] + if not config_parsed: + Bcfg2.Options.get_parser().parse() + config_parsed = True + + return django.core.handlers.wsgi.WSGIHandler()(environ, start_response) |