from ldvspec.celery import app
from lofardata.models import WorkSpecification, DataProduct


@app.task
def define_work_specification(workspecification_id):
    specification = WorkSpecification.objects.get(pk=workspecification_id)
    filters = specification.filters

    dataproducts = DataProduct.objects.filter(**filters)
    inputs = {'surls': [dataproduct.surl for dataproduct in dataproducts]}
    specification.inputs = inputs
    specification.is_ready = True
    specification.save()