From ef698087313bebec0fef4af5b0032f96465d723b Mon Sep 17 00:00:00 2001 From: Philipp Busch Date: Thu, 20 Oct 2016 15:09:20 +0200 Subject: [PATCH 1/2] Pass kwargs to the object factory --- gitlab/objects.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gitlab/objects.py b/gitlab/objects.py index d7688d053..8247a936a 100644 --- a/gitlab/objects.py +++ b/gitlab/objects.py @@ -280,13 +280,14 @@ def get(cls, gl, id, **kwargs): raise GitlabGetError("Object not found") - def _get_object(self, k, v): + def _get_object(self, k, v, **kwargs): if self._constructorTypes and k in self._constructorTypes: - return globals()[self._constructorTypes[k]](self.gitlab, v) + return globals()[self._constructorTypes[k]](self.gitlab, v, + **kwargs) else: return v - def _set_from_dict(self, data): + def _set_from_dict(self, data, **kwargs): if not hasattr(data, 'items'): return @@ -294,11 +295,11 @@ def _set_from_dict(self, data): if isinstance(v, list): self.__dict__[k] = [] for i in v: - self.__dict__[k].append(self._get_object(k, i)) + self.__dict__[k].append(self._get_object(k, i, **kwargs)) elif v is None: self.__dict__[k] = None else: - self.__dict__[k] = self._get_object(k, v) + self.__dict__[k] = self._get_object(k, v, **kwargs) def _create(self, **kwargs): if not self.canCreate: @@ -377,7 +378,7 @@ def __init__(self, gl, data=None, **kwargs): data = self.gitlab.get(self.__class__, data, **kwargs) self._from_api = True - self._set_from_dict(data) + self._set_from_dict(data, **kwargs) if kwargs: for k, v in kwargs.items(): From cc151f3c1f350b0e05b2daa4cf440a6a7df8c36b Mon Sep 17 00:00:00 2001 From: Philipp Busch Date: Thu, 20 Oct 2016 15:10:25 +0200 Subject: [PATCH 2/2] Add .tox to ignore to respect default tox settings --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 22274327f..daef3f311 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ MANIFEST .idea/ docs/_build .testrepository/ +.tox