Browse Source

Multisite loader

prieto 7 years ago
parent
commit
3dfe523c5a
1 changed files with 29 additions and 26 deletions
  1. 29
    26
      lodel/plugins/multisite/loader.py

+ 29
- 26
lodel/plugins/multisite/loader.py View File

@@ -1,6 +1,7 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 import os
3 3
 import os.path
4
+LODEL2_SITES_PATH = '.'
4 5
 
5 6
 try:
6 7
     from lodel.context import LodelContext
@@ -8,33 +9,35 @@ except ImportError:
8 9
     LODEL_BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
9 10
     from lodel.context import LodelContext
10 11
 
11
-def preload():
12
+lodelsites_list = [sitename for sitename in os.listdir(LODEL_INSTANCES_DIR) if os.path.isdir(sitename)]
13
+for lodelsite_path in lodelsites_list:
14
+    ctx_name = LodelContext.from_path(lodelsite_path)
15
+    #Switch to new context
16
+    LodelContext.set(ctx_name)
17
+    os.cwd(lodelsite_path)
18
+    # Loading settings
19
+    LodelContext.expose_modules(globals(), {'lodel.settings.settings': [('Settings', 'settings')]})
20
+    if not settings.started():
21
+        settings('conf.d')
22
+    LodelContext.expose_modules(globals(), {'lodel.settings': ['Settings']})
12 23
 
13
-    for lodelcontext in LodelContext._contexts.values():
14
-        ctx_name = LodelContext.from_path(lodelsite_path)
15
-        #Switch to new context
16
-        LodelContext.set(ctx_name)
24
+    # Loading hooks & plugins
25
+    LodelContext.expose_modules(globals(), {
26
+        'lodel.plugin': ['LodelHook'],
27
+        'lodel.plugin.core_hooks': 'core_hooks',
28
+        'lodel.plugin.core_scripts': 'core_scripts'
29
+    })
17 30
 
18
-        os.cwd(lodelsite_path)
19
-        # Loading settings
20
-        LodelContext.expose_modules(globals(), {'lodel.settings.settings': [('Settings', 'settings')]})
21
-        if not settings.started():
22
-            settings('conf.d')
23
-        LodelContext.expose_modules(globals(), {'lodel.settings': ['Settings']})
31
+    #Load plugins
32
+    lodelcontext.expose_modules(globals(), {
33
+        'lodel.logger': 'logger',
34
+        'lodel.plugin': ['Plugin']})
35
+    logger.debug("Loader.start() called")
36
+    Plugin.load_all()
37
+    LodelHook.call_hook('lodel2_bootstraped', '__main__', None)
38
+    #switch back to loader context
39
+    LodelContext.set(None)
24 40
 
25
-        # Loading hooks & plugins
26
-        LodelContext.expose_modules(globals(), {
27
-            'lodel.plugin': ['LodelHook'],
28
-            'lodel.plugin.core_hooks': 'core_hooks',
29
-            'lodel.plugin.core_scripts': 'core_scripts'
30
-        })
41
+import lodel.plugins.multisite.main as main
42
+main.main_loop()
31 43
 
32
-        #Load plugins
33
-        lodelcontext.expose_modules(globals(), {
34
-            'lodel.logger': 'logger',
35
-            'lodel.plugin': ['Plugin']})
36
-        logger.debug("Loader.start() called")
37
-        Plugin.load_all()
38
-        LodelHook.call_hook('lodel2_bootstraped', '__main__', None)
39
-        #switch back to loader context
40
-        LodelContext.set(None)

Loading…
Cancel
Save