Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit34d6952

Browse files
author
Gauvain Pocentek
committed
Support namespace/name for project id
Closes#28
1 parentd38f219 commit34d6952

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

‎gitlab.py

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -187,11 +187,12 @@ def list(self, obj_class, **kwargs):
187187
raiseGitlabListError('Missing attribute(s): %s'%
188188
", ".join(missing))
189189

190-
url=obj_class._url%kwargs
190+
args=_sanitize_dict(kwargs)
191+
url=obj_class._url%args
191192
url='%s%s'% (self._url,url)
192-
ifkwargs:
193+
ifargs:
193194
url+="?%s"% ("&".join(
194-
["%s=%s"% (k,v)fork,vinkwargs.items()]))
195+
["%s=%s"% (k,v)fork,vinargs.items()]))
195196

196197
try:
197198
r=requests.get(url,headers=self.headers,verify=self.ssl_verify)
@@ -225,7 +226,7 @@ def get(self, obj_class, id=None, **kwargs):
225226
raiseGitlabListError('Missing attribute(s): %s'%
226227
", ".join(missing))
227228

228-
url=obj_class._url%kwargs
229+
url=obj_class._url%_sanitize_dict(kwargs)
229230
ifidisnotNone:
230231
url='%s%s/%s'% (self._url,url,str(id))
231232
else:
@@ -247,8 +248,9 @@ def get(self, obj_class, id=None, **kwargs):
247248
raiseGitlabGetError('%d: %s'% (r.status_code,r.text))
248249

249250
defdelete(self,obj):
250-
url=obj._url%obj.__dict__
251-
url='%s%s/%s'% (self._url,url,str(obj.id))
251+
args=_sanitize_dict(obj.__dict__)
252+
url=obj._url%args
253+
url='%s%s/%s'% (self._url,url,args['id'])
252254

253255
try:
254256
r=requests.delete(url,
@@ -275,7 +277,8 @@ def create(self, obj):
275277
raiseGitlabCreateError('Missing attribute(s): %s'%
276278
", ".join(missing))
277279

278-
url=obj._url%obj.__dict__
280+
args=_sanitize_dict(obj.__dict__)
281+
url=obj._url%args
279282
url='%s%s'% (self._url,url)
280283

281284
try:
@@ -294,7 +297,8 @@ def create(self, obj):
294297
raiseGitlabCreateError('%d: %s'% (r.status_code,r.text))
295298

296299
defupdate(self,obj):
297-
url=obj._url%obj.__dict__
300+
args=_sanitize_dict(obj.__dict__)
301+
url=obj._url%args
298302
url='%s%s/%s'% (self._url,url,str(obj.id))
299303

300304
# build a dict of data that can really be sent to server
@@ -446,9 +450,21 @@ def Team(self, id=None, **kwargs):
446450
"""
447451
returnself._getListOrObject(Team,id,**kwargs)
448452

453+
449454
def_get_display_encoding():
450455
returnsys.stdout.encodingorsys.getdefaultencoding()
451456

457+
458+
def_sanitize(value):
459+
iftype(value)in (str,unicode):
460+
returnvalue.replace('/','%2F')
461+
returnvalue
462+
463+
464+
def_sanitize_dict(src):
465+
return {k:_sanitize(v)fork,vinsrc.items()}
466+
467+
452468
classGitlabObject(object):
453469
_url=None
454470
_returnClass=None

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp