Skip to content
Snippets Groups Projects
Commit 6d45df53 authored by Klaas Kliffen's avatar Klaas Kliffen :satellite:
Browse files

Small formatting fixes.

parent 7e8ef465
No related branches found
No related tags found
1 merge request!104Propagate extra fields form group into WorkSpecifications
from typing import List
from django.contrib.auth.models import User
from lofardata.models import Group, WorkSpecification
def set_post_submit_values(specification, user):
specification.async_task_result = None
if specification.created_by is None:
specification.created_by = user
def split_obs_ids_string(obs_ids_string: str) -> List[str]:
return [obs_id.strip() for obs_id in obs_ids_string.split(",")]
def create_work_specifications_for_group(group: Group, created_by: User, obs_ids: List[str], batch_size: int) -> List[
WorkSpecification]:
work_specs: List[WorkSpecification] = []
for obs_id in obs_ids:
work_specs.append(
create_work_specification_for_group(group, created_by, obs_id, batch_size)
)
return work_specs
def propagate_group_properties_to_workspecification(group: Group, workspecification: WorkSpecification):
workspecification.processing_site = group.processing_site
workspecification.selected_workflow = group.selected_workflow
workspecification.selected_workflow_tag = group.selected_workflow_tag
# A WorkSpecification can not be it's own predecessor
if workspecification.pk is not group.predecessor_specification_id:
workspecification.predecessor_specification = group.predecessor_specification
# Groups will not contain `obs_id` filters (specifically) excluded
for filter_field in group.filters:
workspecification.filters[filter_field] = group.filters[filter_field]
def create_work_specification_for_group(group: Group, created_by: User, obs_id: str,
batch_size: int) -> WorkSpecification:
workspecification = WorkSpecification(filters={"obs_id": obs_id}, group=group, batch_size=batch_size)
propagate_group_properties_to_workspecification(group, workspecification)
set_post_submit_values(workspecification, created_by)
workspecification.save()
return workspecification
from typing import List
from django.contrib.auth.models import User
from lofardata.models import Group, WorkSpecification
def set_post_submit_values(specification, user):
specification.async_task_result = None
if specification.created_by is None:
specification.created_by = user
def split_obs_ids_string(obs_ids_string: str) -> List[str]:
return [obs_id.strip() for obs_id in obs_ids_string.split(",")]
def create_work_specifications_for_group(group: Group, created_by: User, obs_ids: List[str], batch_size: int) -> List[
WorkSpecification]:
work_specs: List[WorkSpecification] = []
for obs_id in obs_ids:
work_specs.append(
create_work_specification_for_group(group, created_by, obs_id, batch_size)
)
return work_specs
def propagate_group_properties_to_workspecification(group: Group, workspecification: WorkSpecification):
workspecification.processing_site = group.processing_site
workspecification.selected_workflow = group.selected_workflow
workspecification.selected_workflow_tag = group.selected_workflow_tag
# A WorkSpecification can not be it's own predecessor
if workspecification.pk is not group.predecessor_specification_id:
workspecification.predecessor_specification = group.predecessor_specification
# Groups will not contain `obs_id` filters (specifically) excluded
for filter_field in group.filters:
workspecification.filters[filter_field] = group.filters[filter_field]
def create_work_specification_for_group(group: Group, created_by: User, obs_id: str,
batch_size: int) -> WorkSpecification:
workspecification = WorkSpecification(filters={"obs_id": obs_id}, group=group, batch_size=batch_size)
propagate_group_properties_to_workspecification(group, workspecification)
set_post_submit_values(workspecification, created_by)
workspecification.save()
return workspecification
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