From 2967cce7c54615c2e9576ae15d2e3b004b667cdc Mon Sep 17 00:00:00 2001 From: Baudouin Raoult Date: Fri, 27 Mar 2020 13:33:18 +0000 Subject: Add support for API metadata --- cdsapi/api.py | 11 +++++++++-- setup.py | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/cdsapi/api.py b/cdsapi/api.py index 80eaa59..c26378f 100644 --- a/cdsapi/api.py +++ b/cdsapi/api.py @@ -242,6 +242,7 @@ class Client(object): warning_callback=None, error_callback=None, debug_callback=None, + metadata=None, ): if not quiet: @@ -294,6 +295,8 @@ class Client(object): self.session = requests.Session() self.session.auth = tuple(self.key.split(':', 2)) + self.metadata = metadata + self.debug("CDSAPI %s", dict(url=self.url, key=self.key, quiet=self.quiet, @@ -303,7 +306,8 @@ 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, )) def retrieve(self, name, request, target=None): @@ -315,7 +319,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 diff --git a/setup.py b/setup.py index d1d74bd..3fe3449 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ def read(fname): return io.open(file_path, encoding='utf-8').read() -version = '0.2.5' +version = '0.2.6' setuptools.setup( -- cgit v1.2.3