|
@@ -7,6 +7,8 @@
|
7
|
7
|
#
|
8
|
8
|
|
9
|
9
|
import sys, os, os.path
|
|
10
|
+import lodel.plugins.multisite.loader.preload as preload
|
|
11
|
+import lodel.plugins.multisite.main as multisite
|
10
|
12
|
#
|
11
|
13
|
# Bootstraping
|
12
|
14
|
#
|
|
@@ -24,39 +26,55 @@ except ImportError as e:
|
24
|
26
|
print(e)
|
25
|
27
|
exit(1)
|
26
|
28
|
|
27
|
|
-#Set context to MONOSITE
|
|
29
|
+#Set context
|
28
|
30
|
from lodel.context import LodelContext
|
29
|
|
-LodelContext.init()
|
|
31
|
+LODEL2_CONTEXT_MODE = LodelContext.MULTISITE
|
|
32
|
+LODEL2_SITES_PATH = '.'
|
|
33
|
+LodelContext.init(LODEL2_CONTEXT_MODE)
|
30
|
34
|
|
31
|
|
-if 'LODEL2_NO_SETTINGS_LOAD' not in os.environ:
|
32
|
|
- #
|
33
|
|
- # Loading settings
|
34
|
|
- #
|
|
35
|
+if LODEL2_CONTEXT_MODE == LodelContext.MULTISITE:
|
|
36
|
+ #Browse site's directory to set contextes
|
|
37
|
+ l_dir = os.listdir(LODEL2_SITES_PATH)
|
|
38
|
+ for entry in l_dir:
|
|
39
|
+ if os.path.isdir(entry):
|
|
40
|
+ LodelContext.from_path(entry)
|
|
41
|
+
|
|
42
|
+def global_load():
|
35
|
43
|
LodelContext.expose_modules(globals(), {
|
36
|
|
- 'lodel.settings.settings': [('Settings', 'settings')]})
|
|
44
|
+ 'lodel.settings.settings': [('Settings', 'settings')]})
|
37
|
45
|
if not settings.started():
|
38
|
46
|
settings('conf.d')
|
39
|
|
- LodelContext.expose_modules(globals(), {
|
|
47
|
+ LodelContext.expose_modules(globals(), {
|
40
|
48
|
'lodel.settings': ['Settings']})
|
41
|
|
-
|
42
|
|
- #Starts hooks
|
43
|
|
- LodelContext.expose_modules(globals(), {
|
44
|
|
- 'lodel.plugin': ['LodelHook'],
|
45
|
|
- 'lodel.plugin.core_hooks': 'core_hooks',
|
46
|
|
- 'lodel.plugin.core_scripts': 'core_scripts'})
|
47
|
|
-
|
48
|
|
-def start():
|
49
|
|
- #Load plugins
|
50
|
|
- LodelContext.expose_modules(globals(), {
|
51
|
|
- 'lodel.logger': 'logger',
|
52
|
|
- 'lodel.plugin': ['Plugin']})
|
53
|
|
- logger.debug("Loader.start() called")
|
54
|
|
- Plugin.load_all()
|
55
|
|
- LodelHook.call_hook('lodel2_bootstraped', '__main__', None)
|
|
49
|
+ #Starts hooks
|
|
50
|
+ LodelContext.expose_modules(globals(), {
|
|
51
|
+ 'lodel.plugin': ['LodelHook'],
|
|
52
|
+ 'lodel.plugin.core_hooks': 'core_hooks',
|
|
53
|
+ 'lodel.plugin.core_scripts': 'core_scripts'})
|
56
|
54
|
|
|
55
|
+if 'LODEL2_NO_SETTINGS_LOAD' not in os.environ:
|
|
56
|
+ #
|
|
57
|
+ # Loading settings
|
|
58
|
+ #
|
|
59
|
+ if LODEL2_CONTEXT_MODE == LodelContext.MULTISITE:
|
|
60
|
+ #for ctx in LodelContext._contexts:
|
|
61
|
+ # LodelContext.set(ctx)
|
|
62
|
+ # global_load()
|
|
63
|
+ else:
|
|
64
|
+ global_load()
|
57
|
65
|
|
|
66
|
+def load_loop(lodel):
|
|
67
|
+ import leapi_dyncode as dyncode
|
|
68
|
+ lodel.dyncode = dyncode
|
|
69
|
+ LodelHook.call_hook('lodel2_dyncode_bootstraped', '__main__', None)
|
|
70
|
+ #Run interative python
|
|
71
|
+ import code
|
|
72
|
+ print("""
|
|
73
|
+ Running interactive python in Lodel2 %s instance environment
|
|
74
|
+ """%Settings.sitename)
|
|
75
|
+ code.interact(local=locals())
|
|
76
|
+
|
58
|
77
|
if __name__ == '__main__':
|
59
|
|
-
|
60
|
78
|
start()
|
61
|
79
|
if Settings.runtest:
|
62
|
80
|
import unittest
|
|
@@ -70,16 +88,11 @@ if __name__ == '__main__':
|
70
|
88
|
runner.run(suite)
|
71
|
89
|
exit()
|
72
|
90
|
|
73
|
|
- lodel = LodelContext.get()
|
74
|
|
- import leapi_dyncode as dyncode
|
75
|
|
- lodel.dyncode = dyncode
|
76
|
|
- LodelHook.call_hook('lodel2_dyncode_bootstraped', '__main__', None)
|
77
|
|
- LodelHook.call_hook('lodel2_loader_main', '__main__', None)
|
|
91
|
+ if LODEL2_CONTEXT_MODE == LodelContext.MULTISITE:
|
|
92
|
+ preload.preload()
|
|
93
|
+ else:
|
|
94
|
+ lodel = LodelContext.get()
|
|
95
|
+ load_loop(lodel)
|
78
|
96
|
|
79
|
|
- #Run interative python
|
80
|
|
- import code
|
81
|
|
- print("""
|
82
|
|
- Running interactive python in Lodel2 %s instance environment
|
|
97
|
+ multisite.main_loop()
|
83
|
98
|
|
84
|
|
-"""%Settings.sitename)
|
85
|
|
- code.interact(local=locals())
|