diff options
author | b8raoult <53792887+b8raoult@users.noreply.github.com> | 2020-06-10 09:49:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-10 09:49:24 +0100 |
commit | 534e07b50b0954c0ae06eae35961a89ac8a03f59 (patch) | |
tree | b89c0c3bccfbfd28f609706a238e5db2f596744e /cdsapi | |
parent | e358418b2eb89e17b4863326345bfe7c9fef307e (diff) | |
parent | 2c2dcaa67dc57a43b19497b11c58c9b01f1c8057 (diff) |
Merge pull request #3 from jblarsen/feature_separate_retrieve_download
FEATURE_SEPARATE_RETRIEVE_DOWNLOAD: support for updating requests
Diffstat (limited to 'cdsapi')
-rw-r--r-- | cdsapi/api.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/cdsapi/api.py b/cdsapi/api.py index d4c5a60..70efa25 100644 --- a/cdsapi/api.py +++ b/cdsapi/api.py @@ -192,6 +192,16 @@ class Result(object): self.debug(metadata.headers) return metadata + def update(self, request_id=None): + if request_id is None: + request_id = self.reply['request_id'] + task_url = '%s/tasks/%s' % (self._url, request_id) + self.debug("GET %s", task_url) + + result = self.robust(self.session.get)(task_url, verify=self.verify) + result.raise_for_status() + self.reply = result.json() + def delete(self): if self._deleted: @@ -238,6 +248,7 @@ class Client(object): delete=True, retry_max=500, sleep_max=120, + wait_until_complete=True, info_callback=None, warning_callback=None, error_callback=None, @@ -287,6 +298,7 @@ class Client(object): self.full_stack = full_stack self.delete = delete self.last_state = None + self.wait_until_complete = wait_until_complete self.debug_callback = debug_callback self.warning_callback = warning_callback @@ -411,6 +423,9 @@ class Client(object): else: raise + if not self.wait_until_complete: + return Result(self, reply) + sleep = 1 while True: |