20
20
from gitlab import cli
21
21
from gitlab import exceptions as exc
22
22
from gitlab import types as g_types
23
+ from gitlab import utils
23
24
24
25
25
26
class GetMixin (object ):
@@ -42,7 +43,7 @@ def get(self, id, lazy=False, **kwargs):
42
43
GitlabGetError: If the server cannot perform the request
43
44
"""
44
45
if not isinstance (id , int ):
45
- id = id . replace ( "/" , "%2F" )
46
+ id = utils . clean_str_id ( id )
46
47
path = "%s/%s" % (self .path , id )
47
48
if lazy is True :
48
49
return self ._obj_cls (self , {self ._obj_cls ._id_attr : id })
@@ -299,7 +300,7 @@ def set(self, key, value, **kwargs):
299
300
Returns:
300
301
obj: The created/updated attribute
301
302
"""
302
- path = "%s/%s" % (self .path , key . replace ( "/" , "%2F" ))
303
+ path = "%s/%s" % (self .path , utils . clean_str_id ( key ))
303
304
data = {"value" : value }
304
305
server_data = self .gitlab .http_put (path , post_data = data , ** kwargs )
305
306
return self ._obj_cls (self , server_data )
@@ -322,7 +323,7 @@ def delete(self, id, **kwargs):
322
323
path = self .path
323
324
else :
324
325
if not isinstance (id , int ):
325
- id = id . replace ( "/" , "%2F" )
326
+ id = utils . clean_str_id ( id )
326
327
path = "%s/%s" % (self .path , id )
327
328
self .gitlab .http_delete (path , ** kwargs )
328
329
0 commit comments