]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/settings/__init__.py
Configure logging "the Django way" and ensure that all messages are written to the...
[osqa.git] / forum / settings / __init__.py
index 87b80a183595dfe06596b701e3fb569fa5fb1d2e..4120d2ba6737f5df56ac3b01466aa641e0898193 100644 (file)
@@ -1,18 +1,20 @@
 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 django.utils.version import get_git_changeset
+
+from forum.modules import get_modules_script_implementations
 
 OSQA_VERSION = "Development Build"
 
-SVN_REVISION = get_svn_revision(djsettings.SITE_SRC_ROOT)
+VCS_REVISION = get_git_changeset()
 
 # We'll have to keep in mind this variable on every release.
-if SVN_REVISION == u'SVN-unknown':
-    SVN_REVISION = u'SVN-1000'
+if VCS_REVISION == u'SVN-unknown':
+    VCS_REVISION = u'SVN-1000'
 
 MAINTAINANCE_MODE = Setting('MAINTAINANCE_MODE', None)
 
@@ -25,7 +27,6 @@ APP_BASE_URL = djsettings.APP_BASE_URL
 FORCE_SCRIPT_NAME = djsettings.FORCE_SCRIPT_NAME
 OSQA_SKIN = djsettings.OSQA_DEFAULT_SKIN
 LANGUAGE_CODE = djsettings.LANGUAGE_CODE
-ADMIN_MEDIA_PREFIX = djsettings.ADMIN_MEDIA_PREFIX
 ONLINE_USERS = Setting('ONLINE_USERS', {})
 
 
@@ -48,14 +49,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()