diff options
author | Gard Spreemann <gspr@nonempty.org> | 2020-03-29 13:06:42 +0200 |
---|---|---|
committer | Gard Spreemann <gspr@nonempty.org> | 2020-03-29 13:06:42 +0200 |
commit | 7a8cb4f4da753b19954d8c78d8588787a32e3ebe (patch) | |
tree | 419f38ad39929eca8cc941a2701ac8926cdcaf36 /cdsapi/api.py | |
parent | 0c28fb7da83c7afba74416a88682eb931d874ce4 (diff) |
Upstream 0.2.7 tarball as released on PyPI.upstream/0.2.7
Diffstat (limited to 'cdsapi/api.py')
-rw-r--r-- | cdsapi/api.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/cdsapi/api.py b/cdsapi/api.py index 80eaa59..1c8e598 100644 --- a/cdsapi/api.py +++ b/cdsapi/api.py @@ -242,6 +242,8 @@ class Client(object): warning_callback=None, error_callback=None, debug_callback=None, + metadata=None, + forget=False, ): if not quiet: @@ -294,6 +296,9 @@ class Client(object): self.session = requests.Session() self.session.auth = tuple(self.key.split(':', 2)) + self.metadata = metadata + self.forget = forget + self.debug("CDSAPI %s", dict(url=self.url, key=self.key, quiet=self.quiet, @@ -303,7 +308,9 @@ class Client(object): sleep_max=self.sleep_max, retry_max=self.retry_max, full_stack=self.full_stack, - delete=self.delete + delete=self.delete, + metadata=self.metadata, + forget=self.forget, )) def retrieve(self, name, request, target=None): @@ -315,7 +322,10 @@ class Client(object): def service(self, name, *args, **kwargs): self.delete = False # Don't delete results name = '/'.join(name.split('.')) - request = toJSON(dict(args=args, kwargs=kwargs)) + request = dict(args=args, kwargs=kwargs) + if self.metadata: + request['_cds_metadata'] = self.metadata + request = toJSON(request) result = self._api('%s/tasks/services/%s/clientid-%s' % (self.url, name, uuid.uuid4().hex), request, 'PUT') return result @@ -369,6 +379,10 @@ class Client(object): json=request, verify=self.verify, timeout=self.timeout) + + if self.forget: + return result + reply = None try: |