__init__.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # -*- coding: utf-8 -*-
  2. """
  3. (c) 2014 - Copyright Red Hat Inc
  4. Authors:
  5. Pierre-Yves Chibon <pingou@pingoured.fr>
  6. """
  7. from __future__ import absolute_import, unicode_literals
  8. import flask
  9. UI_NS = flask.Blueprint("ui_ns", __name__)
  10. # Import the different controllers in the UI namespace/blueprint
  11. import pagure.config # noqa: E402
  12. import pagure.ui.app # noqa: E402
  13. import pagure.ui.fork # noqa: E402
  14. import pagure.ui.groups # noqa: E402
  15. from pagure.ui.clone import add_clone_proxy_cmds # noqa: E402
  16. if pagure.config.config.get("ENABLE_TICKETS", True):
  17. import pagure.ui.issues # noqa: E402
  18. import pagure.ui.boards # noqa: E402
  19. import pagure.ui.plugins # noqa: E402, I202
  20. import pagure.ui.repo # noqa: E402, I202
  21. if pagure.config.config["PAGURE_AUTH"] == "local":
  22. import pagure.ui.login # noqa: E402
  23. add_clone_proxy_cmds()
  24. @UI_NS.errorhandler(404)
  25. def not_found(error):
  26. """404 Not Found page"""
  27. return flask.render_template("not_found.html", error=error), 404
  28. @UI_NS.errorhandler(401)
  29. def unauthorized(error): # pragma: no cover
  30. """401 Unauthorized page"""
  31. return flask.render_template("unauthorized.html", error=error), 401
  32. @UI_NS.route("/api/")
  33. @UI_NS.route("/api")
  34. def api_redirect():
  35. """Redirects the user to the API documentation page."""
  36. return flask.redirect(flask.url_for("api_ns.api"))