Download BackEnd/controllers/analysis_controllers.py from Jennigwen/isitfake: direct link, hf CLI and curl.
- Browser
- Download file 1.54 kB
-
https://huggingface.co/Jennigwen/isitfake/resolve/main/BackEnd/controllers/analysis_controllers.py
- Command line
-
hf download hf://Jennigwen/isitfake/BackEnd/controllers/analysis_controllers.py
-
curl -L -o analysis_controllers.py https://huggingface.co/Jennigwen/isitfake/resolve/main/BackEnd/controllers/analysis_controllers.py
1.54 kB
| from flask import request | |
| import numpy as np | |
| import traceback | |
| from core.response_json import error_response, success_response, server_error_response | |
| from middlewares.auth import token_optional | |
| from services.analysis_service import run_deepfake_analysis, save_scan_history | |
| def scan_image(current_user): | |
| if 'file' not in request.files: | |
| return error_response(message="No file uploaded", status_code=400) | |
| file = request.files['file'] | |
| if file.filename == '': | |
| return error_response(message="No selected file", status_code=400) | |
| try: | |
| file_bytes = np.frombuffer(file.read(), np.uint8) | |
| analysis_result = run_deepfake_analysis(file_bytes) | |
| if current_user is not None: | |
| save_scan_history( | |
| user_id=current_user.get("user_id"), | |
| file_name=file.filename, | |
| result=analysis_result["result"], | |
| confidence_score=analysis_result["probability"], | |
| processing_time=analysis_result["processing_time"] | |
| ) | |
| analysis_result["saved_to_history"] = True | |
| else: | |
| analysis_result["saved_to_history"] = False | |
| return success_response( | |
| message="Analysis complete", | |
| data=analysis_result | |
| ) | |
| except ValueError as ve: | |
| return error_response(message=str(ve), status_code=400) | |
| except Exception as e: | |
| print("ERROR:", str(e)) | |
| traceback.print_exc() | |
| return server_error_response(error_details=str(e)) |