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

adding quality and remarks to database

parent a462550f
No related branches found
No related tags found
2 merge requests!217Master,!216adding quality and remarks to database
# 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),
),
]
...@@ -22,13 +22,13 @@ def convert_quality_to_list_for_template(task): ...@@ -22,13 +22,13 @@ def convert_quality_to_list_for_template(task):
list = [] list = []
try: try:
list.append(str(task.quality['uv-coverage'])) list.append(str(task.quality_json['uv-coverage']))
list.append(str(task.quality['sensitivity'])) list.append(str(task.quality_json['sensitivity']))
list.append(str(task.quality['observing-conditions'])) list.append(str(task.quality_json['observing-conditions']))
list.append("(link)") list.append("-")
list.append("(link)") list.append("-")
list.append("(link)") list.append("-")
list.append("(link)") list.append("-")
except Exception as err: except Exception as err:
pass pass
...@@ -40,9 +40,9 @@ def convert_quality_to_shortlist_for_template(task): ...@@ -40,9 +40,9 @@ def convert_quality_to_shortlist_for_template(task):
list = [] list = []
try: try:
list.append(str(task.quality['uv-coverage'])) list.append(str(task.quality_json['uv-coverage']))
list.append(str(task.quality['sensitivity'])) list.append(str(task.quality_json['sensitivity']))
list.append(str(task.quality['observing-conditions'])) list.append(str(task.quality_json['observing-conditions']))
except Exception as err: except Exception as err:
pass pass
...@@ -59,6 +59,7 @@ class Task(models.Model): ...@@ -59,6 +59,7 @@ class Task(models.Model):
environment = models.CharField(max_length=255, blank=True, null=True) environment = models.CharField(max_length=255, blank=True, null=True)
new_status = models.CharField(max_length=50, default="defining", 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) 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) resume = models.BooleanField(verbose_name="Resume", default=True)
creationTime = models.DateTimeField(verbose_name="CreationTime",default=datetime.utcnow, blank=True) creationTime = models.DateTimeField(verbose_name="CreationTime",default=datetime.utcnow, blank=True)
...@@ -73,7 +74,7 @@ class Task(models.Model): ...@@ -73,7 +74,7 @@ class Task(models.Model):
inputs = models.JSONField(null=True, blank=True) inputs = models.JSONField(null=True, blank=True)
outputs = models.JSONField(null=True, blank=True) outputs = models.JSONField(null=True, blank=True)
metrics = 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) meta_scheduling = models.JSONField(null=True, blank=True)
size_to_process = models.PositiveBigIntegerField(default=0, null=True, blank=True) size_to_process = models.PositiveBigIntegerField(default=0, null=True, blank=True)
...@@ -116,7 +117,7 @@ class Task(models.Model): ...@@ -116,7 +117,7 @@ class Task(models.Model):
return False return False
@property @property
def quality(self): def quality_json(self):
# todo: check if there is a 'quality' structure in the 'task.outputs'? # todo: check if there is a 'quality' structure in the 'task.outputs'?
try: try:
return self.outputs['quality'] return self.outputs['quality']
......
...@@ -42,8 +42,8 @@ class TaskWriteSerializer(serializers.ModelSerializer): ...@@ -42,8 +42,8 @@ class TaskWriteSerializer(serializers.ModelSerializer):
'project','sas_id','priority','purge_policy','resume', 'project','sas_id','priority','purge_policy','resume',
'new_workflow_id','new_workflow_uri','workflow', 'new_workflow_id','new_workflow_uri','workflow',
'stage_request_id', 'stage_request_id',
'status','new_status', 'status','new_status','quality',
'inputs','outputs','metrics','status_history', 'inputs','outputs','metrics','status_history','remarks',
'size_to_process','size_processed','total_processing_time', 'size_to_process','size_processed','total_processing_time',
'log_entries','meta_scheduling','environment' 'log_entries','meta_scheduling','environment'
) )
...@@ -97,7 +97,7 @@ class TaskReadSerializer(serializers.ModelSerializer): ...@@ -97,7 +97,7 @@ class TaskReadSerializer(serializers.ModelSerializer):
'project','sas_id','priority','purge_policy','resume', 'project','sas_id','priority','purge_policy','resume',
'workflow', 'workflow',
'stage_request_id', 'stage_request_id',
'status','new_status', 'status','new_status','quality',
'inputs','outputs','metrics','status_history', 'inputs','outputs','metrics','status_history',
'size_to_process', 'size_processed', 'total_processing_time', 'size_to_process', 'size_processed', 'total_processing_time',
'log_entries','meta_scheduling','environment' 'log_entries','meta_scheduling','environment'
...@@ -128,7 +128,7 @@ class TaskReadSerializerFast(serializers.ModelSerializer): ...@@ -128,7 +128,7 @@ class TaskReadSerializerFast(serializers.ModelSerializer):
'project','sas_id','priority','purge_policy','resume', 'project','sas_id','priority','purge_policy','resume',
'workflow', 'workflow',
'stage_request_id', 'stage_request_id',
'status','new_status', 'status','new_status','quality',
'inputs','outputs','metrics', 'inputs','outputs','metrics',
'size_to_process', 'size_processed', 'total_processing_time', 'size_to_process', 'size_processed', 'total_processing_time',
......
...@@ -117,13 +117,13 @@ def convert_quality_to_html(task): ...@@ -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>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>Input Type</b></td><td>" + "???" + "</td></tr>"
results += "<tr><td><b>NrJobs (MSs)</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 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['sensitivity']) + "</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['observing-conditions']) + "</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>" + "(link)" + "</td></tr>" results += "<tr><td><b>QA diagnostic plots</b></td><td>" + "-" + "</td></tr>"
results += "<tr><td><b>Workflow summary parset</b></td><td>" + "(link)" + "</td></tr>" results += "<tr><td><b>Workflow summary parset</b></td><td>" + "-" + "</td></tr>"
results += "<tr><td><b>Summary logs</b></td><td>" + "(link)" + "</td></tr>" results += "<tr><td><b>Summary logs</b></td><td>" + "-" + "</td></tr>"
results += "<tr><td><b>QA summary.hf5</b></td><td>" + "(link)" + "</td></tr>" results += "<tr><td><b>QA summary.hf5</b></td><td>" + "-" + "</td></tr>"
except Exception as err: except Exception as err:
results = "<tr><td>" + str(err) + "</td></tr>" results = "<tr><td>" + str(err) + "</td></tr>"
......
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