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 uuid
import logging import logging
from functools import wraps from functools import wraps
from flask import Flask, request, jsonify from flask import Flask, request, jsonify, send_file
from flask_cors import CORS from flask_cors import CORS
from config import DATASETS_DIR, MODELS_DIR, TEMP_DIR, MAX_CONTENT_LENGTH, API_KEY 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) 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__': if __name__ == '__main__':
logger.info("=" * 50) logger.info("=" * 50)
logger.info("MPG HRIS - Flask ML API Server") logger.info("MPG HRIS - Flask ML API Server")