예제 #1
0
async def get_item_from_id(id_, get_func):
    if not id_:
        return "error", make_response(
            jsonify({"status": "id query param is not set"}), 400)
    item = await get_func(id_)
    if item is None:
        return "error", make_response(
            jsonify({"status": "no item with such id"}), 400)
    return "ok", item
예제 #2
0
async def get_data_for_table(select_func, **params):
    if not params["num_of_items"] or not params["offset"]:
        return "error", make_response(
            jsonify(
                {"status": "num_of_items or offset query params is not set"}),
            400)
    try:
        data = await select_func(**params)
    except Exception as e:
        print(e)
        return "error", make_response(
            jsonify({"status": "db error occurred, check query params"}), 500)
    return data
예제 #3
0
def invoice_qr(invoice_id):
    invoice = Invoice.get_by_id(invoice_id)
    if invoice is None:
        abort(404)
    qr = qrcode.make(f"lightning:{invoice.payreq}".uppercase())
    response = make_response(qr)
    response.headers.set("Content-Type", "image/png")
    return response
예제 #4
0
def default_render_json(payload, code, headers, user):
    """Default JSON response handler."""
    # Force Content-Type header to json.
    if headers is None:
        headers = dict()
    headers["Content-Type"] = "application/json"
    payload = dict(meta=dict(code=code), response=payload)
    return make_response(jsonify(payload), code, headers)
예제 #5
0
def image_request():
    thing = request.args.get('thing') or "mushroom"
    truncation = request.args.get('truncation') or 0.7
    model = request.args.get('model') or "waifu"
    try:
        print(f"{thing} {model} {truncation}")
        filename = generate_image(thing=thing,
                                  model_name=model,
                                  truncation=float(truncation))
        return send_file(filename, mimetype="image/png")
    except:
        traceback.print_exc()
        return make_response(("Can't generate image", 502))
예제 #6
0
async def predict_stars():
    '''API scoring function, requires http POST request to contain 'title' and 'review'.
    '''

    try:
        postjson = await request.json
    except Exception as e:
        raise e

    # Check request isn't empty or missing required information.
    if not postjson or [
            x for x in ['review', 'title'] if x not in postjson.keys()
    ]:
        return make_response(
            jsonify({
                'error':
                'Missing required information, "title" or "review".'
            }), 400)

    title = postjson['title']
    review = postjson['review']

    # Process request data.
    clean_text = cleaner.clean(title + '. ' + review)

    X = tokenizer.texts_to_sequences([clean_text])
    X = pad_sequences(X, info['max_sequence'])

    # Make prediction.
    pred = model.predict(X)

    # Return prediction.
    apiresponse = jsonify({
        'prob':
        str(pred[0][0]),
        'pos_neg':
        'Positive' if pred[0][0] >= 0.5 else 'Negative'
    })
    apiresponse.status_code = 200

    return (apiresponse)
예제 #7
0
async def not_found(error):
    return quart.make_response(quart.jsonify({"error": "Not found"}), 404)
예제 #8
0
async def token():
    return make_response(
        json.dumps({
            "user": current_user.user_id,
            "token": current_user.token
        }))
예제 #9
0
 def text(data, code, headers=None):
     return quart.make_response(six.text_type(data))
예제 #10
0
 def test_resource_resp(self, app, mocker):
     resource = restplus.Resource()
     resource.get = mocker.Mock()
     with app.test_request_context("/foo"):
         resource.get.return_value = quart.make_response('')
         resource.dispatch_request()
예제 #11
0
 def make_empty_resposne():
     return quart.make_response('')
예제 #12
0
def plain_text_response(x):
    resp = make_response(str(x))
    resp.headers["Content-Type"] = "text/plain; charset=utf-8"
    return resp
예제 #13
0
def not_found(error):
    return make_response(jsonify({'error': 'Not found'}), 404)