debug.py 944 B

1234567891011121314151617181920212223242526272829
  1. from homepagebuilder.interfaces import script, config
  2. from homepagebuilder.core.config import is_debugging
  3. from homepagebuilder.core.utils.event import listen_event as on, ResultOverride
  4. from homepagebuilder.core.types.context import Context
  5. DEBUG_MODE = config('NewsHomepage.Debug', False, bool)
  6. @script('DebugMode')
  7. def is_debug():
  8. return DEBUG_MODE
  9. @on('server.setup_routes.return')
  10. def set_up_routes(server, *_, **__):
  11. server.app.add_url_rule('/reload', "reload", reload_project, ['GET'])
  12. def reload_project():
  13. if not is_debugging():
  14. return "Not in debug mode", 403
  15. context = Context.get_current_context()
  16. if not hasattr(context, "server_api"):
  17. return "Outdated builder version", 400
  18. if not context.server_api:
  19. return "Not run in server mode", 400
  20. try:
  21. context.server_api.reload_project()
  22. return "Success", 200
  23. except Exception as ex:
  24. return "Failed", 500