Skip to content
Snippets Groups Projects
Commit 04cd5fac authored by Jorrit Schaap's avatar Jorrit Schaap
Browse files

TMSS-1093: make connectors for all verions of task_templates

parent 30f834a6
No related branches found
No related tags found
2 merge requests!634WIP: COBALT commissioning delta,!611TMSS-1093: export/populate schemas/templates
...@@ -499,46 +499,47 @@ def populate_connectors(): ...@@ -499,46 +499,47 @@ def populate_connectors():
logger.info("Populating TaskConnectorType's") logger.info("Populating TaskConnectorType's")
from django.db.utils import IntegrityError from django.db.utils import IntegrityError
def create_task_connector_skip_duplicate(**kwargs): def create_task_connector_skip_duplicate(task_template_name:str, **kwargs):
# wrapper func to silently skip duplicates # wrapper func to silently skip duplicates
try: for task_template in TaskTemplate.objects.filter(name=task_template_name).all():
TaskConnectorType.objects.create(**kwargs) try:
except IntegrityError: TaskConnectorType.objects.create(task_template=task_template, **kwargs)
# skipping duplicate except IntegrityError:
pass # skipping duplicate
pass
# calibrator, target and combined imaging observations # calibrator, target and combined imaging observations
for task_template_name in ['calibrator observation', 'target observation', 'parallel calibrator target observation']: for task_template_name in ['calibrator observation', 'target observation', 'parallel calibrator target observation']:
create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.CORRELATOR.value), create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.CORRELATOR.value),
datatype=Datatype.objects.get(value=Datatype.Choices.VISIBILITIES.value), datatype=Datatype.objects.get(value=Datatype.Choices.VISIBILITIES.value),
dataformat=Dataformat.objects.get(value=Dataformat.Choices.MEASUREMENTSET.value), dataformat=Dataformat.objects.get(value=Dataformat.Choices.MEASUREMENTSET.value),
task_template=TaskTemplate.objects.get(name=task_template_name), task_template_name=task_template_name,
iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value)) iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value))
# beamforming observation # beamforming observation
create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.BEAMFORMER.value), create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.BEAMFORMER.value),
datatype=Datatype.objects.get(value=Datatype.Choices.TIME_SERIES.value), datatype=Datatype.objects.get(value=Datatype.Choices.TIME_SERIES.value),
dataformat=Dataformat.objects.get(value=Dataformat.Choices.BEAMFORMED.value), dataformat=Dataformat.objects.get(value=Dataformat.Choices.BEAMFORMED.value),
task_template=TaskTemplate.objects.get(name='beamforming observation'), task_template_name='beamforming observation',
iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value)) iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value))
# pulsar pipeline # pulsar pipeline
create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.BEAMFORMER.value), create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.BEAMFORMER.value),
datatype=Datatype.objects.get(value=Datatype.Choices.TIME_SERIES.value), datatype=Datatype.objects.get(value=Datatype.Choices.TIME_SERIES.value),
dataformat=Dataformat.objects.get(value=Dataformat.Choices.BEAMFORMED.value), dataformat=Dataformat.objects.get(value=Dataformat.Choices.BEAMFORMED.value),
task_template=TaskTemplate.objects.get(name='pulsar pipeline'), task_template_name='pulsar pipeline',
iotype=IOType.objects.get(value=IOType.Choices.INPUT.value)) iotype=IOType.objects.get(value=IOType.Choices.INPUT.value))
create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.ANY.value), create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.ANY.value),
datatype=Datatype.objects.get(value=Datatype.Choices.QUALITY.value), datatype=Datatype.objects.get(value=Datatype.Choices.QUALITY.value),
dataformat=Dataformat.objects.get(value=Dataformat.Choices.PULP_SUMMARY.value), dataformat=Dataformat.objects.get(value=Dataformat.Choices.PULP_SUMMARY.value),
task_template=TaskTemplate.objects.get(name='pulsar pipeline'), task_template_name='pulsar pipeline',
iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value)) iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value))
create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.ANY.value), create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.ANY.value),
datatype=Datatype.objects.get(value=Datatype.Choices.PULSAR_PROFILE.value), datatype=Datatype.objects.get(value=Datatype.Choices.PULSAR_PROFILE.value),
dataformat=Dataformat.objects.get(value=Dataformat.Choices.PULP_ANALYSIS.value), dataformat=Dataformat.objects.get(value=Dataformat.Choices.PULP_ANALYSIS.value),
task_template=TaskTemplate.objects.get(name='pulsar pipeline'), task_template_name='pulsar pipeline',
iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value)) iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value))
# preprocessing pipeline # preprocessing pipeline
...@@ -546,7 +547,7 @@ def populate_connectors(): ...@@ -546,7 +547,7 @@ def populate_connectors():
create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.ANY.value), create_task_connector_skip_duplicate(role=Role.objects.get(value=Role.Choices.ANY.value),
datatype=Datatype.objects.get(value=Datatype.Choices.VISIBILITIES.value), datatype=Datatype.objects.get(value=Datatype.Choices.VISIBILITIES.value),
dataformat=Dataformat.objects.get(value=Dataformat.Choices.MEASUREMENTSET.value), dataformat=Dataformat.objects.get(value=Dataformat.Choices.MEASUREMENTSET.value),
task_template=TaskTemplate.objects.get(name='preprocessing pipeline'), task_template_name='preprocessing pipeline',
iotype=IOType.objects.get(value=iotype_value)) iotype=IOType.objects.get(value=iotype_value))
# Ingest and Cleanup can/should accept all kinds of data. # Ingest and Cleanup can/should accept all kinds of data.
...@@ -554,8 +555,6 @@ def populate_connectors(): ...@@ -554,8 +555,6 @@ def populate_connectors():
# This would result however in "unrealistic"/non-existing types like: TIME_SERIES-MEASUREMENTSET, or VISIBILITIES-BEAMFORMED, etc, which do not make any sense. # This would result however in "unrealistic"/non-existing types like: TIME_SERIES-MEASUREMENTSET, or VISIBILITIES-BEAMFORMED, etc, which do not make any sense.
# So, instead, lets loop over all exising output connectors, and accept those as input. # So, instead, lets loop over all exising output connectors, and accept those as input.
for task_template_name in ('ingest', 'cleanup'): for task_template_name in ('ingest', 'cleanup'):
task_template = TaskTemplate.objects.get(name=task_template_name)
# loop over all existing output types # loop over all existing output types
any_role = Role.objects.get(value=Role.Choices.ANY.value) any_role = Role.objects.get(value=Role.Choices.ANY.value)
for output_connector_type in TaskConnectorType.objects.filter(iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value)).all(): for output_connector_type in TaskConnectorType.objects.filter(iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value)).all():
...@@ -564,7 +563,7 @@ def populate_connectors(): ...@@ -564,7 +563,7 @@ def populate_connectors():
create_task_connector_skip_duplicate(role=role, create_task_connector_skip_duplicate(role=role,
datatype=output_connector_type.datatype, datatype=output_connector_type.datatype,
dataformat=output_connector_type.dataformat, dataformat=output_connector_type.dataformat,
task_template=task_template, task_template_name=task_template_name,
iotype=IOType.objects.get(value=IOType.Choices.INPUT.value)) iotype=IOType.objects.get(value=IOType.Choices.INPUT.value))
......
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