18
18
from __future__ import print_function
19
19
from __future__ import division
20
20
from __future__ import absolute_import
21
+ import copy
21
22
import itertools
22
23
import json
23
24
import sys
@@ -71,11 +72,14 @@ def __init__(self, gl, parent=None, args=[]):
71
72
raise AttributeError ("obj_cls must be defined" )
72
73
73
74
def _set_parent_args (self , ** kwargs ):
75
+ args = copy .copy (kwargs )
74
76
if self .parent is not None :
75
77
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 ))
77
79
78
- def get (self , id , ** kwargs ):
80
+ return args
81
+
82
+ def get (self , id = None , ** kwargs ):
79
83
"""Get a GitLab object.
80
84
81
85
Args:
@@ -89,10 +93,11 @@ def get(self, id, **kwargs):
89
93
NotImplementedError: If objects cannot be retrieved.
90
94
GitlabGetError: If the server fails to perform the request.
91
95
"""
92
- self ._set_parent_args (** kwargs )
96
+ args = self ._set_parent_args (** kwargs )
97
+ print (args )
93
98
if not self .obj_cls .canGet :
94
99
raise NotImplementedError
95
- return self .obj_cls .get (self .gitlab , id , ** kwargs )
100
+ return self .obj_cls .get (self .gitlab , id , ** args )
96
101
97
102
def list (self , ** kwargs ):
98
103
"""Get a list of GitLab objects.
@@ -107,10 +112,10 @@ def list(self, **kwargs):
107
112
NotImplementedError: If objects cannot be listed.
108
113
GitlabListError: If the server fails to perform the request.
109
114
"""
110
- self ._set_parent_args (** kwargs )
115
+ args = self ._set_parent_args (** kwargs )
111
116
if not self .obj_cls .canList :
112
117
raise NotImplementedError
113
- return self .obj_cls .list (self .gitlab , ** kwargs )
118
+ return self .obj_cls .list (self .gitlab , ** args )
114
119
115
120
def create (self , data , ** kwargs ):
116
121
"""Create a new object of class `obj_cls`.
@@ -129,10 +134,10 @@ def create(self, data, **kwargs):
129
134
NotImplementedError: If objects cannot be created.
130
135
GitlabCreateError: If the server fails to perform the request.
131
136
"""
132
- self ._set_parent_args (** kwargs )
137
+ args = self ._set_parent_args (** kwargs )
133
138
if not self .obj_cls .canCreate :
134
139
raise NotImplementedError
135
- return self .obj_cls .create (self .gitlab , data , ** kwargs )
140
+ return self .obj_cls .create (self .gitlab , data , ** args )
136
141
137
142
def delete (self , id , ** kwargs ):
138
143
"""Delete a GitLab object.
@@ -144,10 +149,10 @@ def delete(self, id, **kwargs):
144
149
NotImplementedError: If objects cannot be deleted.
145
150
GitlabDeleteError: If the server fails to perform the request.
146
151
"""
147
- self ._set_parent_args (** kwargs )
152
+ args = self ._set_parent_args (** kwargs )
148
153
if not self .obj_cls .canDelete :
149
154
raise NotImplementedError
150
- self .gitlab .delete (self .obj_cls , id , ** kwargs )
155
+ self .gitlab .delete (self .obj_cls , id , ** args )
151
156
152
157
def _custom_list (self , url , cls , ** kwargs ):
153
158
r = self .gitlab ._raw_get (url , ** kwargs )
0 commit comments