13558: Merge branch 'master' into wtsi-hgi-13558-debug-log-tag-req-id
[arvados.git] / sdk / cwl / arvados_cwl / util.py
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 import datetime
6 from arvados.errors import ApiError
7
8 def get_intermediate_collection_info(workflow_step_name, current_container, intermediate_output_ttl):
9         if workflow_step_name:
10             name = "Intermediate collection for step %s" % (workflow_step_name)
11         else:
12             name = "Intermediate collection"
13         trash_time = None
14         if intermediate_output_ttl > 0:
15             trash_time = datetime.datetime.utcnow() + datetime.timedelta(seconds=intermediate_output_ttl)
16         container_uuid = None
17         if current_container:
18             container_uuid = current_container['uuid']
19         props = {"type": "intermediate", "container": container_uuid}
20
21         return {"name" : name, "trash_at" : trash_time, "properties" : props}
22
23 def get_current_container(api, num_retries=0, logger=None):
24     current_container = None
25     try:
26         current_container = api.containers().current().execute(num_retries=num_retries)
27     except ApiError as e:
28         # Status code 404 just means we're not running in a container.
29         if e.resp.status != 404 and logger:
30             logger.info("Getting current container: %s", e)
31     return current_container