Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
|
@@ -15,6 +15,7 @@ from fastapi import FastAPI, UploadFile, File, Query
|
|
| 15 |
from fastapi.middleware.cors import CORSMiddleware
|
| 16 |
import uvicorn
|
| 17 |
from skimage import color
|
|
|
|
| 18 |
|
| 19 |
# OOM PREVENTION
|
| 20 |
torch.set_num_threads(1)
|
|
@@ -619,13 +620,23 @@ app.add_middleware(
|
|
| 619 |
processor = WatermelonProcessor(MODEL_PATH)
|
| 620 |
|
| 621 |
@app.get("/")
|
| 622 |
-
def read_root(): return {"status": "
|
| 623 |
|
| 624 |
@app.post("/process_single")
|
| 625 |
-
async def process_single(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 626 |
request_t = time.perf_counter()
|
| 627 |
-
|
| 628 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 629 |
|
| 630 |
try:
|
| 631 |
contents = await file.read()
|
|
|
|
| 15 |
from fastapi.middleware.cors import CORSMiddleware
|
| 16 |
import uvicorn
|
| 17 |
from skimage import color
|
| 18 |
+
import hashlib
|
| 19 |
|
| 20 |
# OOM PREVENTION
|
| 21 |
torch.set_num_threads(1)
|
|
|
|
| 620 |
processor = WatermelonProcessor(MODEL_PATH)
|
| 621 |
|
| 622 |
@app.get("/")
|
| 623 |
+
def read_root(): return {"status": "Phenotyping API is awake and running!"}
|
| 624 |
|
| 625 |
@app.post("/process_single")
|
| 626 |
+
async def process_single(
|
| 627 |
+
file: UploadFile = File(...),
|
| 628 |
+
include_image: bool = Query(True),
|
| 629 |
+
apply_smoothing: bool = Query(True),
|
| 630 |
+
password: str = Form("")
|
| 631 |
+
):
|
| 632 |
request_t = time.perf_counter()
|
| 633 |
+
|
| 634 |
+
# --- SECURE PASSWORD CHECK ---
|
| 635 |
+
expected_hash = "9139eb3676d5dfafced7613f044d86d9e7c84f40a04c83ddce062878621315d0"
|
| 636 |
+
if hashlib.sha256(password.encode('utf-8')).hexdigest() != expected_hash:
|
| 637 |
+
return ProcessResult(success=False, message="Unauthorized: Incorrect password.", filename=file.filename, processing_ms=int(round((time.perf_counter() - request_t) * 1000))).__dict__
|
| 638 |
+
|
| 639 |
+
contents, img = None, None
|
| 640 |
|
| 641 |
try:
|
| 642 |
contents = await file.read()
|