Skip to content

Commit ef69808

Browse files
author
Philipp Busch
committed
Pass kwargs to the object factory
1 parent 5f444e4 commit ef69808

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

gitlab/objects.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -280,25 +280,26 @@ def get(cls, gl, id, **kwargs):
280280

281281
raise GitlabGetError("Object not found")
282282

283-
def _get_object(self, k, v):
283+
def _get_object(self, k, v, **kwargs):
284284
if self._constructorTypes and k in self._constructorTypes:
285-
return globals()[self._constructorTypes[k]](self.gitlab, v)
285+
return globals()[self._constructorTypes[k]](self.gitlab, v,
286+
**kwargs)
286287
else:
287288
return v
288289

289-
def _set_from_dict(self, data):
290+
def _set_from_dict(self, data, **kwargs):
290291
if not hasattr(data, 'items'):
291292
return
292293

293294
for k, v in data.items():
294295
if isinstance(v, list):
295296
self.__dict__[k] = []
296297
for i in v:
297-
self.__dict__[k].append(self._get_object(k, i))
298+
self.__dict__[k].append(self._get_object(k, i, **kwargs))
298299
elif v is None:
299300
self.__dict__[k] = None
300301
else:
301-
self.__dict__[k] = self._get_object(k, v)
302+
self.__dict__[k] = self._get_object(k, v, **kwargs)
302303

303304
def _create(self, **kwargs):
304305
if not self.canCreate:
@@ -377,7 +378,7 @@ def __init__(self, gl, data=None, **kwargs):
377378
data = self.gitlab.get(self.__class__, data, **kwargs)
378379
self._from_api = True
379380

380-
self._set_from_dict(data)
381+
self._set_from_dict(data, **kwargs)
381382

382383
if kwargs:
383384
for k, v in kwargs.items():

0 commit comments

Comments
 (0)