пользовательская история такая. Мой API получает файл json с полями: type, category, plain_text, file_url, external_link, emails, среди этих полей, plain_text, file_url, external_link и email не могут быть пустыми одновременно. после проверки полей мне нужно загрузить файл file_url в amazon s3. но я не совсем уверен, что мой код правильный. кто-нибудь может помочь и проверить? спасибо, следующий мой код
from flask import Flask, jsonify, abort, make_response, request
import json
app = Flask(__name__)
@app.errorhandler(404)
def not_found(error):
return render_template("404.html")
@app.route('/ping/<path:text>', methods=['GET'])
def get_ping(text):
log.info(f"GET /ping/{text}")
return jsonify( {text: {'service_name': 'service', 'timestamp': str(datetime.datetime.now())}})
@app.route("/", methods=["POST"])
def data_check_and_save():
request_json = json.loads(request.data.decode('utf-8'))
print(request_json)
if not request_json:
abort(400)
if not ('plain_text' in request_json and request_json["plain_text"] != ""
and 'file_url' in request_json and request_json["file_url"] != ""
and 'external_link' in request_json and request_json["external_link"] != ""
and 'email' in request_json and request_json["email"] != ""):
return Exception ("Error: please give text or upload file or provide external link")
key = bucket.get_key(request_json["file_url"])
key.get_contents_to_filename(request_json["file_url"])
if __name__ == "__main__":
app.run(debug=True, host='0.0.0.0')