From 49d0590599958a4f182664ed3815bda44886a1ca Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 10 Nov 2022 13:59:27 -0800 Subject: [PATCH] Another tweak to how import wait times are calculated --- bookwyrm/tests/views/imports/test_import.py | 23 +++++++++++++++++++++ bookwyrm/views/imports/import_data.py | 3 ++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/bookwyrm/tests/views/imports/test_import.py b/bookwyrm/tests/views/imports/test_import.py index 6c2296879..ea88b197d 100644 --- a/bookwyrm/tests/views/imports/test_import.py +++ b/bookwyrm/tests/views/imports/test_import.py @@ -149,3 +149,26 @@ class ImportViews(TestCase): ) result = views.imports.import_data.get_average_import_time() self.assertEqual(result, 3 * 60 * 60) + + def test_get_average_import_time_ignore_stopped(self): + """Don't include stopped, do include no status""" + now = datetime.datetime.now() + two_hours_ago = now - datetime.timedelta(hours=2) + four_hours_ago = now - datetime.timedelta(hours=4) + models.ImportJob.objects.create( + user=self.local_user, + created_date=two_hours_ago, + updated_date=now, + status="stopped", + complete=True, + mappings={}, + ) + models.ImportJob.objects.create( + user=self.local_user, + created_date=four_hours_ago, + updated_date=now, + complete=True, + mappings={}, + ) + result = views.imports.import_data.get_average_import_time() + self.assertEqual(result, 4 * 60 * 60) diff --git a/bookwyrm/views/imports/import_data.py b/bookwyrm/views/imports/import_data.py index c779abf9e..f9c62a15d 100644 --- a/bookwyrm/views/imports/import_data.py +++ b/bookwyrm/views/imports/import_data.py @@ -94,7 +94,8 @@ def get_average_import_time() -> float: """Helper to figure out how long imports are taking (returns seconds)""" last_week = timezone.now() - datetime.timedelta(days=7) recent_avg = ( - models.ImportJob.objects.filter(created_date__gte=last_week, status="complete") + models.ImportJob.objects.filter(created_date__gte=last_week, complete=True) + .exclude(status="stopped") .annotate( runtime=ExpressionWrapper( F("updated_date") - F("created_date"),