60 lines
1.9 KiB
Python
60 lines
1.9 KiB
Python
from flask import Flask, request, send_file, jsonify,render_template
|
|
import requests
|
|
from io import BytesIO
|
|
|
|
app = Flask(__name__)
|
|
|
|
@app.route('/', methods=['GET'])
|
|
def index():
|
|
return render_template('appy.html')
|
|
|
|
@app.route('/list_faces', methods=['POST'])
|
|
def list_faces():
|
|
url = request.json.get('url')
|
|
try:
|
|
response = requests.get(url)
|
|
return jsonify(response.json())
|
|
except Exception as e:
|
|
return jsonify({'error': str(e)})
|
|
|
|
@app.route('/get_image', methods=['POST'])
|
|
def get_image():
|
|
base_url = request.json.get('base_url')
|
|
bucket = request.json.get('bucket')
|
|
image_path = request.json.get('image_path')
|
|
|
|
try:
|
|
# Construir a URL completa
|
|
full_url = f"{base_url}/{bucket}/{image_path}"
|
|
|
|
# Fazer a requisição GET para obter a imagem
|
|
response = requests.get(full_url, stream=True)
|
|
response.raise_for_status() # Lança exceção se o status for 4xx ou 5xx
|
|
|
|
# Retornar a imagem como um arquivo para o front-end
|
|
return send_file(
|
|
BytesIO(response.content),
|
|
mimetype='image/jpeg', # Ajuste o mimetype conforme o formato da imagem (jpeg, png, etc.)
|
|
download_name='image.jpg' # Nome sugerido do arquivo, opcional
|
|
)
|
|
except requests.exceptions.RequestException as e:
|
|
return jsonify({'error': str(e)}), 400
|
|
@app.route('/update_name', methods=['POST'])
|
|
def update_name():
|
|
url = request.json.get('url')
|
|
userID = request.json.get('userID')
|
|
new_name = request.json.get('new_name')
|
|
|
|
try:
|
|
|
|
full_url = f"{url}/{userID}/{new_name}"
|
|
|
|
response = requests.post(full_url)
|
|
response.raise_for_status()
|
|
|
|
return jsonify(response.json())
|
|
except requests.exceptions.RequestException as e:
|
|
return jsonify({'error': str(e)}), 400
|
|
if __name__ == '__main__':
|
|
app.run(debug=True)
|