|
@@ -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
|
|