From ea08180c28b191febf7c8c09c9385d3a4de6cbab Mon Sep 17 00:00:00 2001 From: Bryon Lewis Date: Fri, 13 Sep 2024 15:50:49 -0400 Subject: [PATCH 1/3] fix modelrun animation creating a file for each image --- rdwatch/core/tasks/animation_export.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rdwatch/core/tasks/animation_export.py b/rdwatch/core/tasks/animation_export.py index 81b97f872..035b29263 100644 --- a/rdwatch/core/tasks/animation_export.py +++ b/rdwatch/core/tasks/animation_export.py @@ -16,7 +16,7 @@ from django.contrib.auth.models import User from django.core.files import File -from django.db.models import Q +from django.db.models import Count, Q from rdwatch.celery import app from rdwatch.core.models import ( @@ -746,10 +746,12 @@ def create_modelrun_animation_export( site_tasks = [ create_site_animation_export.s(site_id, settings, userId) for site_id in SiteImage.objects.filter(site__configuration_id=modelrun_id) - .values_list('site_id', flat=True) - .iterator() + .values('site_id') # Group by site_id + .annotate(image_count=Count('id')) # Count images per site_id + .filter(image_count__gt=0) # Only include site_ids with image count > 0 + .values_list('site_id', flat=True) # Extract site_ids + .distinct() # Ensure distinct site_ids ] - subtasks = group(site_tasks) result: GroupResult = subtasks.apply_async() From 62ccb66bac50da3e79f55bd8878722da0ad3301b Mon Sep 17 00:00:00 2001 From: Bryon Lewis Date: Fri, 13 Sep 2024 16:14:44 -0400 Subject: [PATCH 2/3] simplify animation export --- rdwatch/core/tasks/animation_export.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/rdwatch/core/tasks/animation_export.py b/rdwatch/core/tasks/animation_export.py index 035b29263..d005a0c8c 100644 --- a/rdwatch/core/tasks/animation_export.py +++ b/rdwatch/core/tasks/animation_export.py @@ -746,11 +746,9 @@ def create_modelrun_animation_export( site_tasks = [ create_site_animation_export.s(site_id, settings, userId) for site_id in SiteImage.objects.filter(site__configuration_id=modelrun_id) - .values('site_id') # Group by site_id - .annotate(image_count=Count('id')) # Count images per site_id - .filter(image_count__gt=0) # Only include site_ids with image count > 0 .values_list('site_id', flat=True) # Extract site_ids - .distinct() # Ensure distinct site_ids + .distinct('site_id') # Ensure distinct site_ids + .iterator() ] subtasks = group(site_tasks) From bccf03eca7f6a4024f3abf462a2e323dfb092b93 Mon Sep 17 00:00:00 2001 From: Bryon Lewis Date: Fri, 13 Sep 2024 16:16:20 -0400 Subject: [PATCH 3/3] linting --- rdwatch/core/tasks/animation_export.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rdwatch/core/tasks/animation_export.py b/rdwatch/core/tasks/animation_export.py index d005a0c8c..ab1d5005c 100644 --- a/rdwatch/core/tasks/animation_export.py +++ b/rdwatch/core/tasks/animation_export.py @@ -16,7 +16,7 @@ from django.contrib.auth.models import User from django.core.files import File -from django.db.models import Count, Q +from django.db.models import Q from rdwatch.celery import app from rdwatch.core.models import (