From cf9671c2539c05dac40c00ef707193b1ca6b9cab Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Tue, 20 Jul 2021 10:06:05 +0300 Subject: [PATCH] Add support for extra fields in request object --- clearml/backend_api/session/request.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/clearml/backend_api/session/request.py b/clearml/backend_api/session/request.py index 7640b5a9..2390fa55 100644 --- a/clearml/backend_api/session/request.py +++ b/clearml/backend_api/session/request.py @@ -11,8 +11,19 @@ class Request(ApiModel): _method = 'get' def __init__(self, **kwargs): - if kwargs: + allow_extra_fields = kwargs.pop("_allow_extra_fields_", False) + if not allow_extra_fields and kwargs: raise ValueError('Unsupported keyword arguments: %s' % ', '.join(kwargs.keys())) + elif allow_extra_fields and kwargs: + self._extra_fields = kwargs + else: + self._extra_fields = {} + + def to_dict(self, *args, **kwargs): + res = super(Request, self).to_dict(*args, **kwargs) + if self._extra_fields: + res.update(self._extra_fields) + return res @six.add_metaclass(abc.ABCMeta)