]> git.openstreetmap.org Git - osqa.git/blobdiff - settings.py
add support for gunicorn, this will allow the usage of the run_gunicorn management...
[osqa.git] / settings.py
index 0db3f3b9ba2759b333d9c262fcb1d88c4678a99f..a1044e559319e6300d72ffeb2fbf51028efa509c 100644 (file)
@@ -15,6 +15,9 @@ TEMPLATE_LOADERS = [
 ]
 
 MIDDLEWARE_CLASSES = [
+    'django.middleware.csrf.CsrfViewMiddleware',
+    'django.middleware.csrf.CsrfResponseMiddleware',
+    'forum.middleware.django_cookies.CookiePreHandlerMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.middleware.common.CommonMiddleware',
     'forum.middleware.extended_user.ExtendedUser',
@@ -22,7 +25,9 @@ MIDDLEWARE_CLASSES = [
     'forum.middleware.request_utils.RequestUtils',
     'forum.middleware.cancel.CancelActionMiddleware',
     'forum.middleware.admin_messages.AdminMessagesMiddleware',
+    'forum.middleware.custom_pages.CustomPagesFallbackMiddleware',
     'django.middleware.transaction.TransactionMiddleware',
+    'forum.middleware.django_cookies.CookiePostHandlerMiddleware',
 ]
 
 TEMPLATE_CONTEXT_PROCESSORS = [
@@ -71,16 +76,25 @@ for path in app_url_split[1].split('/')[1:]:
 if FORCE_SCRIPT_NAME.endswith('/'):
     FORCE_SCRIPT_NAME = FORCE_SCRIPT_NAME[:-1]
 
-from forum import modules
-modules.init_modules_engine(SITE_SRC_ROOT, DISABLED_MODULES)
+#Module system initialization
+MODULES_PACKAGE = 'forum_modules'
+MODULES_FOLDER = os.path.join(SITE_SRC_ROOT, MODULES_PACKAGE)
+
+MODULE_LIST = filter(lambda m: getattr(m, 'CAN_USE', True), [
+        __import__('forum_modules.%s' % f, globals(), locals(), ['forum_modules'])
+        for f in os.listdir(MODULES_FOLDER)
+        if os.path.isdir(os.path.join(MODULES_FOLDER, f)) and
+           os.path.exists(os.path.join(MODULES_FOLDER, "%s/__init__.py" % f)) and
+           not f in DISABLED_MODULES
+])
 
 [MIDDLEWARE_CLASSES.extend(
         ["%s.%s" % (m.__name__, mc) for mc in getattr(m, 'MIDDLEWARE_CLASSES', [])]
-                          ) for m in modules.MODULE_LIST]
+                          ) for m in MODULE_LIST]
 
 [TEMPLATE_LOADERS.extend(
         ["%s.%s" % (m.__name__, tl) for tl in getattr(m, 'TEMPLATE_LOADERS', [])]
-                          ) for m in modules.MODULE_LIST]
+                          ) for m in MODULE_LIST]
 
 
 INSTALLED_APPS = [
@@ -109,6 +123,13 @@ try:
 except:
     pass
 
+# Try loading Gunicorn web server
+try:
+    import gunicorn
+    INSTALLED_APPS.append('gunicorn')
+except ImportError:
+    pass
+
 if not DEBUG:
     try:
         import rosetta