Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # -*- coding: utf-8 -*-
  2. import os
  3. import os.path
  4. LODEL2_INSTANCES_DIR = '.'
  5. try:
  6. from lodel.context import LodelContext
  7. except ImportError:
  8. LODEL_BASE_DIR = os.path.dirname(
  9. os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
  10. from lodel.context import LodelContext
  11. LodelContext.init(LodelContext.MULTISITE)
  12. lodelsites_list = [ os.path.realpath(os.path.join(LODEL2_INSTANCES_DIR,sitename))
  13. for sitename in os.listdir(LODEL2_INSTANCES_DIR)
  14. if os.path.isdir(sitename)]
  15. for lodelsite_path in lodelsites_list:
  16. ctx_name = LodelContext.from_path(lodelsite_path)
  17. #Switch to new context
  18. LodelContext.set(ctx_name)
  19. os.chdir(lodelsite_path)
  20. # Loading settings
  21. LodelContext.expose_modules(globals(), {
  22. 'lodel.settings.settings': [('Settings', 'settings')]})
  23. if not settings.started():
  24. settings('conf.d')
  25. LodelContext.expose_modules(globals(), {'lodel.settings': ['Settings']})
  26. # Loading hooks & plugins
  27. LodelContext.expose_modules(globals(), {
  28. 'lodel.plugin': ['LodelHook'],
  29. 'lodel.plugin.core_hooks': 'core_hooks',
  30. 'lodel.plugin.core_scripts': 'core_scripts'
  31. })
  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. #Import & expose dyncode
  39. LodelContext.expose_dyncode(globals())
  40. #Next hook triggers dyncode datasource instanciations
  41. LodelHook.call_hook('lodel2_plugins_loaded', '__main__', None)
  42. #Next hook triggers call of interface's main loop
  43. LodelHook.call_hook('lodel2_bootstraped', '__main__', None)
  44. #switch back to loader context
  45. LodelContext.set(None)
  46. import lodel.plugins.multisite.main as main
  47. main.main_loop()