예제 #1
0
def post_default_track(snap_name):
    data = flask.request.json

    if not data:
        return flask.jsonify({}), 400

    try:
        snap_id = api.get_snap_id(snap_name, flask.session)
    except ApiResponseErrorList as api_response_error_list:
        if api_response_error_list.status_code == 404:
            return flask.abort(404, "No snap named {}".format(snap_name))
        else:
            return flask.jsonify(api_response_error_list.errors), 400
    except ApiError as api_error:
        return _handle_error(api_error)

    try:
        api.snap_metadata(snap_id, flask.session, data)
    except ApiResponseErrorList as api_response_error_list:
        if api_response_error_list.status_code == 404:
            return flask.abort(404, "No snap named {}".format(snap_name))
        else:
            response = {
                "errors": api_response_error_list.errors,
                "success": False,
            }
            return flask.jsonify(response), 400
    except ApiError as api_error:
        return _handle_error(api_error)

    return flask.jsonify({"success": True})
예제 #2
0
def post_close_channel(snap_name):
    data = flask.request.json

    if not data:
        return flask.jsonify({})

    try:
        snap_id = api.get_snap_id(snap_name, flask.session)
    except ApiResponseErrorList as api_response_error_list:
        if api_response_error_list.status_code == 404:
            return flask.abort(404, "No snap named {}".format(snap_name))
        else:
            return flask.jsonify(api_response_error_list.errors), 400
    except ApiError as api_error:
        return _handle_errors(api_error)

    try:
        response = api.post_close_channel(flask.session, snap_id, data)
    except ApiResponseErrorList as api_response_error_list:
        if api_response_error_list.status_code == 404:
            return flask.abort(404, "No snap named {}".format(snap_name))
        else:
            response = {
                "errors": api_response_error_list.errors,
                "success": False,
            }
            return flask.jsonify(response), 400
    except ApiError as api_error:
        return _handle_errors(api_error)

    response["success"] = True
    return flask.jsonify(response)
예제 #3
0
def post_close_channel(snap_name):
    data = flask.request.json

    if not data:
        return flask.jsonify({}), 400

    try:
        snap_id = api.get_snap_id(snap_name, flask.session)
    except ApiResponseErrorList as api_response_error_list:
        if api_response_error_list.status_code == 404:
            return flask.abort(404, "No snap named {}".format(snap_name))
        else:
            return flask.jsonify(api_response_error_list.errors), 400
    except ApiError as api_error:
        return _handle_errors(api_error)

    try:
        response = api.post_close_channel(flask.session, snap_id, data)
    except ApiResponseErrorList as api_response_error_list:
        if api_response_error_list.status_code == 404:
            return flask.abort(404, "No snap named {}".format(snap_name))
        else:
            response = {
                "errors": api_response_error_list.errors,
                "success": False,
            }
            return flask.jsonify(response), 400
    except ApiError as api_error:
        return _handle_errors(api_error)

    response["success"] = True
    return flask.jsonify(response)
예제 #4
0
파일: views.py 프로젝트: cprov/snapcraft.io
def get_release_history(snap_name):
    snap_id = ''
    try:
        snap_id = api.get_snap_id(snap_name, flask.session)
    except ApiResponseErrorList as api_response_error_list:
        return _handle_error_list(api_response_error_list.errors)
    except ApiError as api_error:
        return _handle_errors(api_error)

    try:
        revision_history = api.snap_revision_history(flask.session, snap_id)
    except ApiResponseErrorList as api_response_error_list:
        return _handle_error_list(api_response_error_list.errors)
    except ApiError as api_error:
        return _handle_errors(api_error)

    context = {
        'snap_name': snap_name,
        'revision_history': revision_history,
        'release_ui_enabled': flask.current_app.config['RELEASE_UI_ENABLED']
    }

    return flask.render_template('publisher/release-history.html', **context)