From 2075ed66ad7cca695634c0a862126ea3ff66ea2e Mon Sep 17 00:00:00 2001 From: jordan Date: Thu, 28 Jul 2011 16:20:02 +0000 Subject: [PATCH] take another approach to the settings import from modules git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@1130 0cfe37f9-358a-4d5e-be75-b63607b5c754 --- forum/settings/__init__.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/forum/settings/__init__.py b/forum/settings/__init__.py index 87b80a1..218f114 100644 --- a/forum/settings/__init__.py +++ b/forum/settings/__init__.py @@ -1,11 +1,13 @@ import os.path -from base import Setting, SettingSet +from base import Setting, SettingSet, BaseSetting from django.forms.widgets import Textarea from django.utils.translation import ugettext_lazy as _ from django.conf import settings as djsettings from django.utils.version import get_svn_revision +from forum.modules import get_modules_script_implementations + OSQA_VERSION = "Development Build" SVN_REVISION = get_svn_revision(djsettings.SITE_SRC_ROOT) @@ -48,14 +50,15 @@ from urls import * from accept import * from sitemaps import * +__all__ = locals().keys() + # Be able to import all module settings as well -for m in djsettings.MODULE_LIST: - try: - exec 'from %s.settings import *' % m.__name__ - except: - pass +for k,v in get_modules_script_implementations('settings', BaseSetting).items(): + if not k in __all__: + __all__.append(k) + exec "%s = v" % k + BADGES_SET = SettingSet('badges', _('Badges config'), _("Configure badges on your OSQA site."), 500) -#__all__ = locals().keys() -- 2.45.1