1818from __future__ import print_function
1919from __future__ import division
2020from __future__ import absolute_import
21+ import copy
2122import itertools
2223import json
2324import sys
@@ -71,11 +72,14 @@ def __init__(self, gl, parent=None, args=[]):
7172 raise AttributeError ("obj_cls must be defined" )
7273
7374 def _set_parent_args (self , ** kwargs ):
75+ args = copy .copy (kwargs )
7476 if self .parent is not None :
7577 for attr , parent_attr in self .args :
76- kwargs .setdefault (attr , getattr (self .parent , parent_attr ))
78+ args .setdefault (attr , getattr (self .parent , parent_attr ))
7779
78- def get (self , id , ** kwargs ):
80+ return args
81+
82+ def get (self , id = None , ** kwargs ):
7983 """Get a GitLab object.
8084
8185 Args:
@@ -89,10 +93,11 @@ def get(self, id, **kwargs):
8993 NotImplementedError: If objects cannot be retrieved.
9094 GitlabGetError: If the server fails to perform the request.
9195 """
92- self ._set_parent_args (** kwargs )
96+ args = self ._set_parent_args (** kwargs )
97+ print (args )
9398 if not self .obj_cls .canGet :
9499 raise NotImplementedError
95- return self .obj_cls .get (self .gitlab , id , ** kwargs )
100+ return self .obj_cls .get (self .gitlab , id , ** args )
96101
97102 def list (self , ** kwargs ):
98103 """Get a list of GitLab objects.
@@ -107,10 +112,10 @@ def list(self, **kwargs):
107112 NotImplementedError: If objects cannot be listed.
108113 GitlabListError: If the server fails to perform the request.
109114 """
110- self ._set_parent_args (** kwargs )
115+ args = self ._set_parent_args (** kwargs )
111116 if not self .obj_cls .canList :
112117 raise NotImplementedError
113- return self .obj_cls .list (self .gitlab , ** kwargs )
118+ return self .obj_cls .list (self .gitlab , ** args )
114119
115120 def create (self , data , ** kwargs ):
116121 """Create a new object of class `obj_cls`.
@@ -129,10 +134,10 @@ def create(self, data, **kwargs):
129134 NotImplementedError: If objects cannot be created.
130135 GitlabCreateError: If the server fails to perform the request.
131136 """
132- self ._set_parent_args (** kwargs )
137+ args = self ._set_parent_args (** kwargs )
133138 if not self .obj_cls .canCreate :
134139 raise NotImplementedError
135- return self .obj_cls .create (self .gitlab , data , ** kwargs )
140+ return self .obj_cls .create (self .gitlab , data , ** args )
136141
137142 def delete (self , id , ** kwargs ):
138143 """Delete a GitLab object.
@@ -144,10 +149,10 @@ def delete(self, id, **kwargs):
144149 NotImplementedError: If objects cannot be deleted.
145150 GitlabDeleteError: If the server fails to perform the request.
146151 """
147- self ._set_parent_args (** kwargs )
152+ args = self ._set_parent_args (** kwargs )
148153 if not self .obj_cls .canDelete :
149154 raise NotImplementedError
150- self .gitlab .delete (self .obj_cls , id , ** kwargs )
155+ self .gitlab .delete (self .obj_cls , id , ** args )
151156
152157 def _custom_list (self , url , cls , ** kwargs ):
153158 r = self .gitlab ._raw_get (url , ** kwargs )
0 commit comments