diff options
author | Gauvain Pocentek <gauvain@pocentek.net> | 2016-10-23 08:27:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-23 08:27:42 +0200 |
commit | 9da5d69002c59317ef215bfaf70db2ab5b38b490 (patch) | |
tree | 2e0e7511e02e25878ac2b43dd6768947fa3eb9e1 /gitlab/objects.py | |
parent | 5f444e4ddf1087a8c4081f9b8d8b3d87d36a0985 (diff) | |
parent | cc151f3c1f350b0e05b2daa4cf440a6a7df8c36b (diff) | |
download | gitlab-9da5d69002c59317ef215bfaf70db2ab5b38b490.tar.gz |
Merge pull request #168 from hakkeroid/pass_kwargs_to_object_factory
Pass kwargs to object factory
Diffstat (limited to 'gitlab/objects.py')
-rw-r--r-- | gitlab/objects.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gitlab/objects.py b/gitlab/objects.py index d7688d0..8247a93 100644 --- a/gitlab/objects.py +++ b/gitlab/objects.py @@ -280,13 +280,14 @@ class GitlabObject(object): 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 @@ class GitlabObject(object): 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 @@ class GitlabObject(object): 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(): |