diff --git a/logan/runner.py b/logan/runner.py index 63e0e20..f95f995 100644 --- a/logan/runner.py +++ b/logan/runner.py @@ -15,7 +15,8 @@ import re import sys -from logan.settings import create_default_settings, load_settings +from logan.settings import create_default_settings, load_settings, \ + add_settings def sanitize_name(project): @@ -120,7 +121,9 @@ def run_app(project=None, default_config_path=None, default_settings=None, if default_settings: settings_mod = import_module(default_settings) + # TODO: logan should create a proxy module for its settings management.setup_environ(settings_mod) + add_settings(settings_mod) load_settings(config_path) diff --git a/logan/settings.py b/logan/settings.py index 2f3f380..1b2e535 100644 --- a/logan/settings.py +++ b/logan/settings.py @@ -44,11 +44,15 @@ def load_settings(filename, silent=False): e.strerror = 'Unable to load configuration file (%s)' % e.strerror raise - tuple_settings = ('INSTALLED_APPS', 'TEMPLATE_DIRS') - if not settings.configured: settings.configure() + add_settings(mod) + + +def add_settings(mod): + tuple_settings = ('INSTALLED_APPS', 'TEMPLATE_DIRS') + for setting in dir(mod): if setting == setting.upper(): setting_value = getattr(mod, setting) diff --git a/setup.py b/setup.py index 08b587e..c8b3183 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ setup( name='logan', - version='0.1.1', + version='0.2.0', author='David Cramer', author_email='dcramer@gmail.com', url='http://github.com/dcramer/logan',