Add RESET_PERSON=* to reset all tracked people; fix near-duplicate dedup
- RESET_PERSON=* resets every tracked person (deletes their Frigate files and clears the tracker). Any other value resets that specific person by name, including someone literally named 'all'. - Near-duplicate removal pass added before diversity clustering: greedily drops candidates within 0.10 cosine distance of a higher-quality image, eliminating burst-shot duplicates that FPS would otherwise pass through.
This commit is contained in:
+14
-3
@@ -156,11 +156,22 @@ def main() -> None:
|
|||||||
rprint(f"Server: [dim]{Config.IMMICH_URL}[/dim]")
|
rprint(f"Server: [dim]{Config.IMMICH_URL}[/dim]")
|
||||||
rprint(f"Output: [dim]{Config.OUTPUT_DIR}[/dim]")
|
rprint(f"Output: [dim]{Config.OUTPUT_DIR}[/dim]")
|
||||||
|
|
||||||
# Handle RESET_PERSON before anything else
|
# Handle RESET_PERSON before anything else.
|
||||||
|
# RESET_PERSON=* resets every tracked person; any other value resets
|
||||||
|
# that specific person by name.
|
||||||
reset_person_name = os.environ.get("RESET_PERSON", "").strip()
|
reset_person_name = os.environ.get("RESET_PERSON", "").strip()
|
||||||
if reset_person_name:
|
if reset_person_name:
|
||||||
reset_person(reset_person_name)
|
if reset_person_name == "*":
|
||||||
rprint(f"[bold yellow]Reset tracking data for: {reset_person_name}[/bold yellow]")
|
names = list(get_person_summary().keys())
|
||||||
|
if names:
|
||||||
|
for name in names:
|
||||||
|
reset_person(name)
|
||||||
|
rprint(f"[bold yellow]Reset tracking data for all {len(names)} people.[/bold yellow]")
|
||||||
|
else:
|
||||||
|
rprint("[dim]No tracking data to reset.[/dim]")
|
||||||
|
else:
|
||||||
|
reset_person(reset_person_name)
|
||||||
|
rprint(f"[bold yellow]Reset tracking data for: {reset_person_name}[/bold yellow]")
|
||||||
|
|
||||||
# Show per-person tracker summary if data exists
|
# Show per-person tracker summary if data exists
|
||||||
summary = get_person_summary()
|
summary = get_person_summary()
|
||||||
|
|||||||
Reference in New Issue
Block a user