Skip to content
Snippets Groups Projects
Commit 35f21d5a authored by Nico Vermaas's avatar Nico Vermaas
Browse files

handle review comments

parent 9e3e1fd6
No related branches found
No related tags found
1 merge request!349SDC-1148 Summary endpoints
Pipeline #77161 passed
......@@ -132,7 +132,7 @@ class TaskReadSerializerFast(serializers.ModelSerializer):
"""
class Meta:
model = Task
fields = ['id','task_type','creationTime','filter','predecessor','predecessor_status',
fields = ['id','task_type','is_summary','creationTime','filter','predecessor','predecessor_status',
#'joined_input_tasks', 'joined_output_task', 'joined_status',
'project','sas_id','priority','purge_policy','cleanup_policy','resume',
'workflow',
......
......@@ -1096,7 +1096,7 @@ def construct_linc_summary(task):
# find the summary in the quality json structure
try:
#NV_25mar2023:
#NV_25mar2024:
# it is not yet clear if LINC will have its 'summary' metadata directly under outputs or under outputs.quality
# for now assuming directly under outputs
#summary = task.quality_json["summary"]
......@@ -1138,10 +1138,7 @@ def construct_summary(task, format='html'):
if format=='html':
# construct the appropriate summary html
if summary_flavour == SummaryFlavour.DEFAULT.value:
return construct_default_summary(task)
elif summary_flavour == SummaryFlavour.IMAGING_COMPRESSION.value:
if summary_flavour == SummaryFlavour.IMAGING_COMPRESSION.value:
return construct_imaging_summary(task)
elif summary_flavour == SummaryFlavour.LINC_CALIBRATOR.value:
......@@ -1150,17 +1147,18 @@ def construct_summary(task, format='html'):
elif summary_flavour == SummaryFlavour.LINC_TARGET.value:
return construct_linc_summary(task)
elif format=='json':
return construct_default_summary(task)
if summary_flavour == SummaryFlavour.DEFAULT.value:
return construct_default_summary_json(task)
elif format=='json':
elif summary_flavour == SummaryFlavour.LINC_CALIBRATOR.value:
if summary_flavour == SummaryFlavour.LINC_CALIBRATOR.value:
return construct_linc_summary_json(task)
elif summary_flavour == SummaryFlavour.LINC_TARGET.value:
return construct_linc_summary_json(task)
return construct_default_summary_json(task)
return None
......@@ -1172,20 +1170,18 @@ def construct_default_summary_json(task):
sas_id = task.sas_id
title = f'Summary File for SAS_ID {task.sas_id}'
summary_json = {}
summary_json['title'] = title
summary_json = {'title':title}
tasks = Task.objects.filter(sas_id=sas_id)
tasks_records = []
for task in tasks:
task_record = {}
# skip 'suspended' and 'discarded' tasks
if task.status in ['suspended', 'discarded']:
continue
task_record['task'] = task.id
task_record = {'task': task.id}
# find the summary in the quality json structure
try:
......@@ -1217,15 +1213,11 @@ def construct_default_summary_json(task):
except:
pass
try:
if 'added' in record:
task_record['added'] = record['added']
except:
pass
try:
if 'deleted' in record:
task_record['deleted'] = record['deleted']
except:
pass
try:
key = task.calculated_qualities['per_task']
......@@ -1279,8 +1271,7 @@ def construct_linc_summary_json(task):
sas_id = task.sas_id
title = f'Summary File for SAS_ID {task.sas_id}'
summary_json = {}
summary_json['title'] = title
summary_json = {'title': title}
tasks = Task.objects.filter(sas_id=sas_id)
tasks_records = []
......@@ -1301,7 +1292,7 @@ def construct_linc_summary_json(task):
# find the summary in the quality json structure
try:
#NV_25mar2023:
#NV_25mar2024:
# it is not yet clear if LINC will have its 'summary' metadata directly under outputs or under outputs.quality
# for now assuming directly under outputs. If that turns out differently then change the line below accordingly.
# summary = task.quality_json["summary"]
......
......@@ -8,7 +8,6 @@ import json
class GetSummaryTestCase(TestCase):
def setUp(self):
print("setUp: Run once for every test method to setup clean data.")
workflow_requantisation = Workflow(workflow_uri="psrfits_requantisation")
workflow_requantisation.save()
......
......@@ -1711,6 +1711,7 @@ def GetSummary(request, sas_id, format):
This is the same informtion and algorithm as used when the user clicks the SUM button on the Validation page.
See documentation: https://drive.google.com/file/d/16R8L06OFiKHFHBUA6FhrNVZVAaQBC2tU/view?usp=sharing
The return is either a JsonResponse (for format='json') or a HttpResponse for format is 'html' or 'pdf'
example: /atdb/get_summary/606942/json
"""
try:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment