diff --git a/atdb/taskdatabase/migrations/0015_auto_20220401_1336.py b/atdb/taskdatabase/migrations/0015_auto_20220401_1336.py new file mode 100644 index 0000000000000000000000000000000000000000..905a12b7c65d076f6a7e6bacc8ac9def3c106686 --- /dev/null +++ b/atdb/taskdatabase/migrations/0015_auto_20220401_1336.py @@ -0,0 +1,23 @@ +# Generated by Django 3.1.4 on 2022-04-01 11:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('taskdatabase', '0014_task_environment'), + ] + + operations = [ + migrations.AddField( + model_name='task', + name='quality', + field=models.CharField(blank=True, max_length=10, null=True), + ), + migrations.AddField( + model_name='task', + name='remarks', + field=models.JSONField(blank=True, null=True), + ), + ] diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index 7c7023ec02fced91620f7076a7ee8651158ef8c1..ddf73715b57352e0cbf76e7b3d56b1d6df1cc359 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -22,13 +22,13 @@ def convert_quality_to_list_for_template(task): list = [] try: - list.append(str(task.quality['uv-coverage'])) - list.append(str(task.quality['sensitivity'])) - list.append(str(task.quality['observing-conditions'])) - list.append("(link)") - list.append("(link)") - list.append("(link)") - list.append("(link)") + list.append(str(task.quality_json['uv-coverage'])) + list.append(str(task.quality_json['sensitivity'])) + list.append(str(task.quality_json['observing-conditions'])) + list.append("-") + list.append("-") + list.append("-") + list.append("-") except Exception as err: pass @@ -40,9 +40,9 @@ def convert_quality_to_shortlist_for_template(task): list = [] try: - list.append(str(task.quality['uv-coverage'])) - list.append(str(task.quality['sensitivity'])) - list.append(str(task.quality['observing-conditions'])) + list.append(str(task.quality_json['uv-coverage'])) + list.append(str(task.quality_json['sensitivity'])) + list.append(str(task.quality_json['observing-conditions'])) except Exception as err: pass @@ -59,6 +59,7 @@ class Task(models.Model): environment = models.CharField(max_length=255, blank=True, null=True) new_status = models.CharField(max_length=50, default="defining", null=True) status = models.CharField(db_index=True, default="unknown", max_length=50,blank=True, null=True) + quality = models.CharField(max_length=10,blank=True, null=True) resume = models.BooleanField(verbose_name="Resume", default=True) creationTime = models.DateTimeField(verbose_name="CreationTime",default=datetime.utcnow, blank=True) @@ -73,7 +74,7 @@ class Task(models.Model): inputs = models.JSONField(null=True, blank=True) outputs = models.JSONField(null=True, blank=True) metrics = models.JSONField(null=True, blank=True) - + remarks = models.JSONField(null=True, blank=True) meta_scheduling = models.JSONField(null=True, blank=True) size_to_process = models.PositiveBigIntegerField(default=0, null=True, blank=True) @@ -116,7 +117,7 @@ class Task(models.Model): return False @property - def quality(self): + def quality_json(self): # todo: check if there is a 'quality' structure in the 'task.outputs'? try: return self.outputs['quality'] diff --git a/atdb/taskdatabase/serializers.py b/atdb/taskdatabase/serializers.py index 238477988d78718c97b40874b50ff9b9414be2f8..45bbd2823f400d25956676c681fc5fbaff4b5e61 100644 --- a/atdb/taskdatabase/serializers.py +++ b/atdb/taskdatabase/serializers.py @@ -42,8 +42,8 @@ class TaskWriteSerializer(serializers.ModelSerializer): 'project','sas_id','priority','purge_policy','resume', 'new_workflow_id','new_workflow_uri','workflow', 'stage_request_id', - 'status','new_status', - 'inputs','outputs','metrics','status_history', + 'status','new_status','quality', + 'inputs','outputs','metrics','status_history','remarks', 'size_to_process','size_processed','total_processing_time', 'log_entries','meta_scheduling','environment' ) @@ -97,7 +97,7 @@ class TaskReadSerializer(serializers.ModelSerializer): 'project','sas_id','priority','purge_policy','resume', 'workflow', 'stage_request_id', - 'status','new_status', + 'status','new_status','quality', 'inputs','outputs','metrics','status_history', 'size_to_process', 'size_processed', 'total_processing_time', 'log_entries','meta_scheduling','environment' @@ -128,7 +128,7 @@ class TaskReadSerializerFast(serializers.ModelSerializer): 'project','sas_id','priority','purge_policy','resume', 'workflow', 'stage_request_id', - 'status','new_status', + 'status','new_status','quality', 'inputs','outputs','metrics', 'size_to_process', 'size_processed', 'total_processing_time', diff --git a/atdb/taskdatabase/services/algorithms.py b/atdb/taskdatabase/services/algorithms.py index 60c8445f96d0c6f8e51eb0310385f45781c9dfc0..0016fef157a24d96f30930f6f352246ee5e29c53 100644 --- a/atdb/taskdatabase/services/algorithms.py +++ b/atdb/taskdatabase/services/algorithms.py @@ -117,13 +117,13 @@ def convert_quality_to_html(task): results += "<tr><td><b>ATDB Filter</b></td><td>" + str(task.filter) + "</td></tr>" results += "<tr><td><b>Input Type</b></td><td>" + "???" + "</td></tr>" results += "<tr><td><b>NrJobs (MSs)</b></td><td>" + "???" + "</td></tr>" - results += "<tr><td><b>QA uv-coverage</b></td><td>" + str(task.quality['uv-coverage']) + "</td></tr>" - results += "<tr><td><b>QA sensitivity</b></td><td>" + str(task.quality['sensitivity']) + "</td></tr>" - results += "<tr><td><b>QA observing-conditions</b></td><td>" + str(task.quality['observing-conditions']) + "</td></tr>" - results += "<tr><td><b>QA diagnostic plots</b></td><td>" + "(link)" + "</td></tr>" - results += "<tr><td><b>Workflow summary parset</b></td><td>" + "(link)" + "</td></tr>" - results += "<tr><td><b>Summary logs</b></td><td>" + "(link)" + "</td></tr>" - results += "<tr><td><b>QA summary.hf5</b></td><td>" + "(link)" + "</td></tr>" + results += "<tr><td><b>QA uv-coverage</b></td><td>" + str(task.quality_json['uv-coverage']) + "</td></tr>" + results += "<tr><td><b>QA sensitivity</b></td><td>" + str(task.quality_json['sensitivity']) + "</td></tr>" + results += "<tr><td><b>QA observing-conditions</b></td><td>" + str(task.quality_json['observing-conditions']) + "</td></tr>" + results += "<tr><td><b>QA diagnostic plots</b></td><td>" + "-" + "</td></tr>" + results += "<tr><td><b>Workflow summary parset</b></td><td>" + "-" + "</td></tr>" + results += "<tr><td><b>Summary logs</b></td><td>" + "-" + "</td></tr>" + results += "<tr><td><b>QA summary.hf5</b></td><td>" + "-" + "</td></tr>" except Exception as err: results = "<tr><td>" + str(err) + "</td></tr>"