Fix three bugs found by code audit
- Delete failure retry loop: when delete_frigate_person_files() fails, remove the file from the tracker so the next candidate targets a different worst file rather than re-attempting the same failed delete. - Interactive mode quality replacement: _configure_person() never set config["quality_replacement"], causing the executor to always default to False and silently skip all uploads for at-cap interactive jobs. Now mirrors auto_configure by reading Config.QUALITY_REPLACEMENT. - Silent mapping loss on API flap: after a successful upload, if the post-upload GET /api/faces returns None (transient API failure), the file was silently left unmapped. Now logs a warning so users know quality replacement won't target that file. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -139,7 +139,7 @@ def _configure_person(person: dict, people: list[dict]) -> dict | None:
|
||||
mode_choice = Prompt.ask("Choice", choices=["1", "2"], default="1")
|
||||
entity_type = "face" if mode_choice == "1" else "object"
|
||||
|
||||
config = {"name": name, "mode": entity_type}
|
||||
config = {"name": name, "mode": entity_type, "quality_replacement": Config.QUALITY_REPLACEMENT}
|
||||
if entity_type == "object":
|
||||
config["object_class"] = Prompt.ask("Enter Object Class (e.g. dog, cat, car)", default="dog")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user