mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-08-22 13:47:29 +02:00
Fix sanitized api causing issues (#16433)
This commit is contained in:
parent
c8cec63cb9
commit
81bd956ae8
@ -98,9 +98,10 @@ def train_face(request: Request, name: str, body: dict = None):
|
|||||||
status_code=404,
|
status_code=404,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
sanitized_name = sanitize_filename(name)
|
||||||
rand_id = "".join(random.choices(string.ascii_lowercase + string.digits, k=6))
|
rand_id = "".join(random.choices(string.ascii_lowercase + string.digits, k=6))
|
||||||
new_name = f"{name}-{rand_id}.webp"
|
new_name = f"{sanitized_name}-{rand_id}.webp"
|
||||||
new_file = sanitize_filename(os.path.join(FACE_DIR, f"{name}/{new_name}"))
|
new_file = os.path.join(FACE_DIR, f"{sanitized_name}/{new_name}")
|
||||||
shutil.move(training_file, new_file)
|
shutil.move(training_file, new_file)
|
||||||
|
|
||||||
context: EmbeddingsContext = request.app.embeddings
|
context: EmbeddingsContext = request.app.embeddings
|
||||||
@ -118,7 +119,7 @@ def train_face(request: Request, name: str, body: dict = None):
|
|||||||
|
|
||||||
|
|
||||||
@router.post("/faces/{name}/create")
|
@router.post("/faces/{name}/create")
|
||||||
async def create_face(request: Request, name: str, file: UploadFile):
|
async def create_face(request: Request, name: str):
|
||||||
if not request.app.frigate_config.face_recognition.enabled:
|
if not request.app.frigate_config.face_recognition.enabled:
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
status_code=400,
|
status_code=400,
|
||||||
@ -126,7 +127,7 @@ async def create_face(request: Request, name: str, file: UploadFile):
|
|||||||
)
|
)
|
||||||
|
|
||||||
os.makedirs(
|
os.makedirs(
|
||||||
sanitize_filename(os.path.join(FACE_DIR, name.replace(" ", "_"))), exist_ok=True
|
os.path.join(FACE_DIR, sanitize_filename(name.replace(" ", "_"))), exist_ok=True
|
||||||
)
|
)
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
status_code=200,
|
status_code=200,
|
||||||
|
@ -93,10 +93,9 @@ export default function FaceLibrary() {
|
|||||||
if (resp.status == 200) {
|
if (resp.status == 200) {
|
||||||
setUpload(false);
|
setUpload(false);
|
||||||
refreshFaces();
|
refreshFaces();
|
||||||
toast.success(
|
toast.success("Successfully uploaded image.", {
|
||||||
"Successfully uploaded image. View the file in the /exports folder.",
|
position: "top-center",
|
||||||
{ position: "top-center" },
|
});
|
||||||
);
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
@ -125,22 +124,21 @@ export default function FaceLibrary() {
|
|||||||
})
|
})
|
||||||
.then((resp) => {
|
.then((resp) => {
|
||||||
if (resp.status == 200) {
|
if (resp.status == 200) {
|
||||||
setUpload(false);
|
setAddFace(false);
|
||||||
refreshFaces();
|
refreshFaces();
|
||||||
toast.success(
|
toast.success("Successfully add face library.", {
|
||||||
"Successfully uploaded image. View the file in the /exports folder.",
|
position: "top-center",
|
||||||
{ position: "top-center" },
|
});
|
||||||
);
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
if (error.response?.data?.message) {
|
if (error.response?.data?.message) {
|
||||||
toast.error(
|
toast.error(
|
||||||
`Failed to upload image: ${error.response.data.message}`,
|
`Failed to set face name: ${error.response.data.message}`,
|
||||||
{ position: "top-center" },
|
{ position: "top-center" },
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
toast.error(`Failed to upload image: ${error.message}`, {
|
toast.error(`Failed to set face name: ${error.message}`, {
|
||||||
position: "top-center",
|
position: "top-center",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user