Blame pagure/ui/__init__.py

Pierre-Yves Chibon 33b534
# -*- coding: utf-8 -*-
Pierre-Yves Chibon b86e43
Pierre-Yves Chibon b86e43
"""
Pierre-Yves Chibon b86e43
 (c) 2014 - Copyright Red Hat Inc
Pierre-Yves Chibon b86e43
Pierre-Yves Chibon b86e43
 Authors:
Pierre-Yves Chibon b86e43
   Pierre-Yves Chibon <pingou@pingoured.fr></pingou@pingoured.fr>
Pierre-Yves Chibon b86e43
Pierre-Yves Chibon b86e43
"""
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon 67d1cc
from __future__ import unicode_literals, absolute_import
Aurélien Bompard dcf6f6
Pierre-Yves Chibon b130e5
import flask
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon 9c2953
UI_NS = flask.Blueprint("ui_ns", __name__)
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
# Import the different controllers in the UI namespace/blueprint
Pierre-Yves Chibon b130e5
import pagure.config  # noqa: E402
Pierre-Yves Chibon b130e5
import pagure.ui.app  # noqa: E402
Patrick Uiterwijk a50651
from pagure.ui.clone import add_clone_proxy_cmds  # noqa: E402
Pierre-Yves Chibon b130e5
import pagure.ui.fork  # noqa: E402
Pierre-Yves Chibon b130e5
import pagure.ui.groups  # noqa: E402
Pierre-Yves Chibon 9c2953
Pierre-Yves Chibon 9c2953
if pagure.config.config.get("ENABLE_TICKETS", True):
Pierre-Yves Chibon b130e5
    import pagure.ui.issues  # noqa: E402
Pierre-Yves Chibon b130e5
import pagure.ui.plugins  # noqa: E402
Pierre-Yves Chibon b130e5
import pagure.ui.repo  # noqa: E402
Pierre-Yves Chibon 9c2953
Pierre-Yves Chibon 9c2953
if pagure.config.config["PAGURE_AUTH"] == "local":
Pierre-Yves Chibon bcc20e
    import pagure.ui.login  # noqa: E402
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
Patrick Uiterwijk a50651
add_clone_proxy_cmds()
Patrick Uiterwijk a50651
Patrick Uiterwijk a50651
Pierre-Yves Chibon b130e5
@UI_NS.errorhandler(404)
Pierre-Yves Chibon b130e5
def not_found(error):
Pierre-Yves Chibon b130e5
    """404 Not Found page"""
Pierre-Yves Chibon 9c2953
    return flask.render_template("not_found.html", error=error), 404
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
@UI_NS.errorhandler(401)
Pierre-Yves Chibon b130e5
def unauthorized(error):  # pragma: no cover
Pierre-Yves Chibon b130e5
    """401 Unauthorized page"""
Pierre-Yves Chibon 9c2953
    return flask.render_template("unauthorized.html", error=error), 401
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon 9c2953
@UI_NS.route("/api/")
Pierre-Yves Chibon 9c2953
@UI_NS.route("/api")
Pierre-Yves Chibon b130e5
def api_redirect():
Pierre-Yves Chibon 9c2953
    """ Redirects the user to the API documentation page.
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon 9c2953
    """
Pierre-Yves Chibon 9c2953
    return flask.redirect(flask.url_for("api_ns.api"))