Browse Source

Updates the multisite loader to enable loader settings & logger

Yann Weber 8 years ago
parent
commit
ab0e5146dd
1 changed files with 17 additions and 3 deletions
  1. 17
    3
      lodel/plugins/multisite/loader.py

+ 17
- 3
lodel/plugins/multisite/loader.py View File

@@ -1,7 +1,9 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 import os
3 3
 import os.path
4
+import warnings
4 5
 LODEL2_INSTANCES_DIR = '.'
6
+EXCLUDE_DIR = {'conf.d'}
5 7
 
6 8
 try:
7 9
     from lodel.context import LodelContext
@@ -11,9 +13,20 @@ except ImportError:
11 13
     from lodel.context import LodelContext
12 14
 
13 15
 LodelContext.init(LodelContext.MULTISITE)
16
+LodelContext.set(None) #Loading context creation
17
+#Multisite instance settings loading
18
+CONFDIR = os.path.join(os.getcwd(), 'conf.d')
19
+if not os.path.isdir(CONFDIR):
20
+    warnings.warn('%s do not exists, default settings used' % CONFDIR)
21
+LodelContext.expose_modules(globals(), {
22
+    'lodel.settings.settings': [('Settings', 'settings')],
23
+    'lodel.plugins.multisite.confspecs': 'multisite_confspecs'})
24
+if not settings.started():
25
+    settings('./conf.d', multisite_confspecs.LODEL2_CONFSPECS)
26
+
14 27
 lodelsites_list = [ os.path.realpath(os.path.join(LODEL2_INSTANCES_DIR,sitename)) 
15 28
     for sitename in os.listdir(LODEL2_INSTANCES_DIR)
16
-    if os.path.isdir(sitename)]
29
+    if os.path.isdir(sitename) and sitename not in EXCLUDE_DIR]
17 30
 for lodelsite_path in lodelsites_list:
18 31
     ctx_name = LodelContext.from_path(lodelsite_path)
19 32
     #Switch to new context
@@ -23,7 +36,7 @@ for lodelsite_path in lodelsites_list:
23 36
     LodelContext.expose_modules(globals(), {
24 37
         'lodel.settings.settings': [('Settings', 'settings')]})
25 38
     if not settings.started():
26
-        settings('conf.d')
39
+        settings('./conf.d')
27 40
     LodelContext.expose_modules(globals(), {'lodel.settings': ['Settings']})
28 41
 
29 42
     # Loading hooks & plugins
@@ -48,6 +61,7 @@ for lodelsite_path in lodelsites_list:
48 61
     #switch back to loader context
49 62
     LodelContext.set(None)
50 63
 
51
-import lodel.plugins.multisite.main as main
64
+LodelContext.expose_modules(
65
+    globals(), {'lodel.plugins.multisite.main': 'main'})
52 66
 main.main_loop()
53 67
 

Loading…
Cancel
Save