diff --git a/atdb/atdb/settings/dev.py b/atdb/atdb/settings/dev.py index 7f4227e6c87631203ebef89d3dc46b3d46b7b3e9..6467a72df42559cd143c5c9bc97ff9736da5b347 100644 --- a/atdb/atdb/settings/dev.py +++ b/atdb/atdb/settings/dev.py @@ -13,7 +13,7 @@ DATABASES = { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'USER': 'atdb_admin', 'PASSWORD': 'atdb123', - 'NAME': 'atdb_ldv_5oct2023', + 'NAME': 'atdb_ldv_20nov2023', 'HOST': 'localhost', 'PORT': '5432', }, diff --git a/atdb/taskdatabase/services/calculated_qualities.py b/atdb/taskdatabase/services/calculated_qualities.py index cad619b0fbc64aad8445dfa09a84cc14a2782966..a6d89ca0ff4ae031ec8f11b143f1d39a768ab062 100644 --- a/atdb/taskdatabase/services/calculated_qualities.py +++ b/atdb/taskdatabase/services/calculated_qualities.py @@ -36,7 +36,7 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds): rfi_percent = float(record['rfi_percent']) - if rfi_percent > 0: + if rfi_percent >= 0: quality = "good" if rfi_percent >= quality_thresholds['moderate']: quality = "moderate" @@ -96,24 +96,28 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds): return quality_sasid except Exception as error: - logger.info(error) + logger.error(error) # --- main function body --- # calculate the quality for this task - calculated_quality_task = calculate_quality_task(task) + try: + calculated_quality_task = calculate_quality_task(task) - # store the result in task.calculated_qualities (not yet saved in the database) - qualities = task.calculated_qualities - if not qualities: - qualities = {} - qualities['per_task'] = calculated_quality_task - task.calculated_qualities = qualities + # store the result in task.calculated_qualities (not yet saved in the database) + qualities = task.calculated_qualities + if not qualities: + qualities = {} + qualities['per_task'] = calculated_quality_task + task.calculated_qualities = qualities - # update the overall quality of all tasks for this sas_id - calculated_quality_sasid = calculate_quality_sasid(task, tasks_for_this_sasid) + # update the overall quality of all tasks for this sas_id + calculated_quality_sasid = calculate_quality_sasid(task, tasks_for_this_sasid) - # store the result in task.calculated_qualities (not yet saved in the database) - qualities['per_sasid'] = calculated_quality_sasid + # store the result in task.calculated_qualities (not yet saved in the database) + qualities['per_sasid'] = calculated_quality_sasid + + except Exception as error: + logger.error(error) return qualities \ No newline at end of file diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html index f2e4ec1c27cde79d3425a126a8d26d3a5926071a..38c5a69803ea2cbd684b3fd05a5a878080a68af3 100644 --- a/atdb/taskdatabase/templates/taskdatabase/index.html +++ b/atdb/taskdatabase/templates/taskdatabase/index.html @@ -31,7 +31,7 @@ {% include 'taskdatabase/pagination.html' %} </div> </div> - <p class="footer"> Version 17 Oct 2023 + <p class="footer"> Version 20 Nov 2023 </div> {% include 'taskdatabase/refresh.html' %} diff --git a/atdb/taskdatabase/templates/taskdatabase/validation/tasks.html b/atdb/taskdatabase/templates/taskdatabase/validation/tasks.html index 50a645d42e953e4a1192ffabf112c76b07bbba46..c61993c6f83f7f7ca2629c19ad5c98e35ac9f7cb 100644 --- a/atdb/taskdatabase/templates/taskdatabase/validation/tasks.html +++ b/atdb/taskdatabase/templates/taskdatabase/validation/tasks.html @@ -28,12 +28,12 @@ data-popup-url="{% url 'inspection-plots-sasid' task.id False %}"> <img src="{% static 'taskdatabase/surfsara.jpg' %}" height="20" alt="inspection plots"> </a> - -<!-- <a class="open-modal btn btn-warning btn-sm" +<!-- + <a class="open-modal btn btn-warning btn-sm" data-popup-url="{% url 'inspection-plots-sasid' task.id True %}"> <i class="fas fa-images"></i> - </a> --> - + </a> +--> </td> {% else %} <td>-</td> diff --git a/atdb/taskdatabase/tests/test_calculated_qualities.py b/atdb/taskdatabase/tests/test_calculated_qualities.py index 2439559c1f991a4d85f8bdd17241442b0e3cab94..09a3df9af7d9abab7ecdcad62e1edd1faf9ce42b 100644 --- a/atdb/taskdatabase/tests/test_calculated_qualities.py +++ b/atdb/taskdatabase/tests/test_calculated_qualities.py @@ -33,7 +33,7 @@ class TestCalculatedQualities(TestCase): workflow_requantisation = Workflow(workflow_uri="psrfits_requantisation") workflow_requantisation.save() - # rfi_percent=0, this task should be skipped in the quality calculations + # rfi_percent=0 Task.objects.get_or_create(sas_id=54321, status='processed', outputs=outputs.default_summary_flavour_with_rfi_percent_zero_1, workflow=workflow_requantisation) # rfi_percent 11,22,31,52 @@ -74,7 +74,7 @@ class TestCalculatedQualities(TestCase): if task.calculated_qualities['per_sasid']: count += 1 - self.assertEqual(count,5) + self.assertEqual(count,6) def test_calculated_qualities(self): @@ -113,7 +113,7 @@ class TestCalculatedQualities(TestCase): # ignore the tasks that have no calculated quality. pass - self.assertEqual(quality_values,{'poor': 1, 'moderate': 2, 'good': 1}) + self.assertEqual(quality_values,{'poor': 1, 'moderate': 2, 'good': 2}) # not 90% = good, and not >50% = poor so 'moderate' self.assertEqual(quality_per_sasid,'moderate') @@ -163,7 +163,7 @@ class TestCalculatedQualities(TestCase): # rfi_percentages are 11,22,31,52 for the tasks of this sasid # with the optimistic parameters that means that the first 3 are 'good', and last one is moderate. No poor - self.assertEqual(quality_values,{'poor': 0, 'moderate': 1, 'good': 3}) + self.assertEqual(quality_values,{'poor': 0, 'moderate': 1, 'good': 4}) # 3 out of 4 are 'good', 75% is above the 50% threshold, so 'good' self.assertEqual(quality_per_sasid,'good')