import datetime
from arvados.errors import ApiError
-def get_intermediate_collection_info(current_container, intermediate_output_ttl):
- name = "Intermediate collection"
+collectionUUID = "http://arvados.org/cwl#collectionUUID"
+
+def get_intermediate_collection_info(workflow_step_name, current_container, intermediate_output_ttl):
+ if workflow_step_name:
+ name = "Intermediate collection for step %s" % (workflow_step_name)
+ else:
+ name = "Intermediate collection"
trash_time = None
if intermediate_output_ttl > 0:
trash_time = datetime.datetime.utcnow() + datetime.timedelta(seconds=intermediate_output_ttl)
container_uuid = None
+ props = {"type": "intermediate"}
if current_container:
- container_uuid = current_container['uuid']
- props = {"type": "intermediate", "container": container_uuid}
+ props["container_uuid"] = current_container['uuid']
return {"name" : name, "trash_at" : trash_time, "properties" : props}
current_container = api.containers().current().execute(num_retries=num_retries)
except ApiError as e:
# Status code 404 just means we're not running in a container.
- if e.resp.status != 404 and logger:
- logger.info("Getting current container: %s", e)
- return current_container;
+ if e.resp.status != 404:
+ if logger:
+ logger.info("Getting current container: %s", e)
+ raise e
+
+ return current_container