]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/modules/__init__.py
Fixes bug in openid auth consumer, and problem with modules template loader.
[osqa.git] / forum / modules / __init__.py
index 976d9eb448a05fd2b2fa78e741ee9e4c59ae8993..f8e0fd1ffb4d70de623d502db114c03984f51f1b 100644 (file)
@@ -2,23 +2,29 @@ import os
 import types
 import logging
 
+from forum.utils.mixed import Proxy
+
 MODULES_PACKAGE = 'forum_modules'
 
-MODULES_FOLDER = None
 MODULE_LIST = []
 
 
 def init_modules_engine(site_src_root, disabled_modules):
-    MODULES_FOLDER = os.path.join(site_src_root, MODULES_PACKAGE)
+    modules_folder = os.path.join(site_src_root, MODULES_PACKAGE)
 
     MODULE_LIST.extend(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
+            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
     ]))
 
+    get_modules_folder.value = modules_folder
+
+def get_modules_folder():
+    return get_modules_folder.value
+
 def get_modules_script(script_name):
     all = []