@@ -43,13 +43,13 @@ def connect(self):
43
43
44
44
def create (self , user , repo , add = False ):
45
45
try :
46
- group = self .gl .groups .search ( user )
47
- data = {'name' : repo , 'path' : repo }
46
+ group = self .gl .groups .list ( search = user )
47
+ data = {'name' : repo }
48
48
if group :
49
49
data ['namespace_id' ] = group [0 ].id
50
50
self .gl .projects .create (data = data )
51
51
except GitlabCreateError as err :
52
- if json .loads (err .response_body .decode ('utf-8' ))[ 'message' ][ 'name' ] [0 ] == 'has already been taken' :
52
+ if json .loads (err .response_body .decode ('utf-8' )). get ( 'message' , {}). get ( 'name' , [ None ]) [0 ] == 'has already been taken' :
53
53
raise ResourceExistsError ("Project already exists." ) from err
54
54
else :
55
55
raise ResourceError ("Unhandled error." ) from err
@@ -60,7 +60,7 @@ def fork(self, user, repo):
60
60
try :
61
61
return self .gl .projects .get ('{}/{}' .format (user , repo )).forks .create ({}).path_with_namespace
62
62
except GitlabCreateError as err :
63
- if json .loads (err .response_body .decode ('utf-8' ))[ 'message' ][ 'name' ] [0 ] == 'has already been taken' :
63
+ if json .loads (err .response_body .decode ('utf-8' )). get ( 'message' , {}). get ( 'name' , [ None ]) [0 ] == 'has already been taken' :
64
64
raise ResourceExistsError ("Project already exists." ) from err
65
65
else :
66
66
raise ResourceError ("Unhandled error: {}" .format (err )) from err
@@ -71,8 +71,8 @@ def delete(self, repo, user=None):
71
71
try :
72
72
repository = self .gl .projects .get ('{}/{}' .format (user , repo ))
73
73
if repository :
74
- result = self .gl .delete (repository . __class__ , repository .id )
75
- if not repository or not result :
74
+ result = self .gl .projects . delete (repository .id )
75
+ if not repository :
76
76
raise ResourceNotFoundError ("Cannot delete: repository {}/{} does not exists." .format (user , repo ))
77
77
except GitlabGetError as err :
78
78
if err .response_code == 404 :
@@ -197,7 +197,7 @@ def load_file(fname, path='.'):
197
197
198
198
data = {
199
199
'title' : description ,
200
- 'visibility_level ' : 0 if secret else 20
200
+ 'visibility ' : 'private' if secret else 'public'
201
201
}
202
202
203
203
try :
@@ -211,12 +211,11 @@ def load_file(fname, path='.'):
211
211
namespace = self .username
212
212
gist_path = gist_pathes [1 ]
213
213
data .update ({
214
- 'project_id' : '/' .join ([namespace , project ]),
215
214
'code' : load_file (gist_path ),
216
215
'file_name' : os .path .basename (gist_path ),
217
216
}
218
217
)
219
- gist = self .gl .project_snippets .create (data )
218
+ gist = self .gl .projects . get ( '/' . join ([ namespace , project ])). snippets .create (data )
220
219
221
220
elif len (gist_pathes ) == 1 :
222
221
gist_path = gist_pathes [0 ]
@@ -231,6 +230,7 @@ def load_file(fname, path='.'):
231
230
except GitlabCreateError as err :
232
231
if err .response_code == 422 :
233
232
raise ResourceNotFoundError ('Feature not available, please upgrade your gitlab instance.' ) from err
233
+ breakpoint ()
234
234
raise ResourceError ('Cannot create snippet' ) from err
235
235
236
236
def gist_delete (self , snippet ):
@@ -302,7 +302,7 @@ def request_create(self, onto_user, onto_repo, from_branch, onto_branch, title=N
302
302
if not title and not description :
303
303
raise ArgumentError ('Missing message for request creation' )
304
304
305
- request = self .gl .projects .get (project .id ).mergerequests .create (
305
+ request = self .gl .projects .get (from_project .id ).mergerequests .create (
306
306
{
307
307
'source_branch' : from_branch ,
308
308
'target_branch' : onto_branch ,
@@ -323,14 +323,17 @@ def request_create(self, onto_user, onto_repo, from_branch, onto_branch, title=N
323
323
324
324
except GitlabGetError as err :
325
325
raise ResourceNotFoundError (err ) from err
326
+ except GitlabCreateError as err :
327
+ raise ResourceError ("Creation error: {}" .format (err )) from err
326
328
except Exception as err :
329
+ breakpoint ()
327
330
raise ResourceError ("Unhandled error: {}" .format (err )) from err
328
331
329
332
def request_list (self , user , repo ):
330
333
project = self .gl .projects .get ('/' .join ([user , repo ]))
331
334
yield "{:>3}\t {:<60}\t {:2}"
332
335
yield ('id' , 'title' , 'URL' )
333
- for mr in self .gl .projects .get (project . id ).mergerequests .list () :
336
+ for mr in self .gl .projects .get (project ).mergerequests .list () :
334
337
yield ( str (mr .iid ),
335
338
mr .title ,
336
339
mr .web_url
0 commit comments