perbaikan path

This commit is contained in:
jouel88 2026-05-15 00:16:29 +07:00
parent dc6ef1d984
commit e13c7ffd76
1 changed files with 67 additions and 1 deletions

68
app.py
View File

@ -2,7 +2,7 @@ import os
import uuid
import logging
from functools import wraps
from flask import Flask, request, jsonify
from flask import Flask, request, jsonify, send_file
from flask_cors import CORS
from config import DATASETS_DIR, MODELS_DIR, TEMP_DIR, MAX_CONTENT_LENGTH, API_KEY
@ -260,6 +260,72 @@ def api_get_embedding():
os.remove(temp_file)
@app.route('/list-frames/<user_id>', methods=['GET'])
@require_api_key
def api_list_frames(user_id):
user_dir = os.path.join(DATASETS_DIR, str(user_id))
if not os.path.exists(user_dir):
return jsonify({
"status": "success",
"user_id": user_id,
"total_frames": 0,
"frames": []
})
frames = sorted([
f for f in os.listdir(user_dir)
if f.startswith('frame_') and f.endswith('.jpg')
])
return jsonify({
"status": "success",
"user_id": user_id,
"total_frames": len(frames),
"frames": frames
})
@app.route('/get-frame/<user_id>/<frame_index>', methods=['GET'])
@require_api_key
def api_get_frame(user_id, frame_index):
idx = str(frame_index).zfill(3)
raw_path = os.path.join(DATASETS_DIR, str(user_id), f"raw_frame_{idx}.jpg")
frame_path = os.path.join(DATASETS_DIR, str(user_id), f"frame_{idx}.jpg")
if os.path.exists(raw_path):
return send_file(raw_path, mimetype='image/jpeg')
elif os.path.exists(frame_path):
return send_file(frame_path, mimetype='image/jpeg')
return jsonify({"status": "error", "message": "Frame tidak ditemukan."}), 404
@app.route('/delete-frames/<user_id>', methods=['DELETE'])
@require_api_key
def api_delete_frames(user_id):
user_dir = os.path.join(DATASETS_DIR, str(user_id))
if not os.path.exists(user_dir):
return jsonify({
"status": "success",
"message": f"Folder user {user_id} tidak ditemukan (sudah bersih).",
"deleted": 0
})
import shutil
shutil.rmtree(user_dir)
logger.info(f"Deleted frames for user {user_id}: {user_dir}")
return jsonify({
"status": "success",
"message": f"Data frame user {user_id} berhasil dihapus.",
"user_id": user_id
})
if __name__ == '__main__':
logger.info("=" * 50)
logger.info("MPG HRIS - Flask ML API Server")