@@ -43,13 +43,13 @@ def connect(self):
4343
4444 def create (self , user , repo , add = False ):
4545 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 }
4848 if group :
4949 data ['namespace_id' ] = group [0 ].id
5050 self .gl .projects .create (data = data )
5151 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' :
5353 raise ResourceExistsError ("Project already exists." ) from err
5454 else :
5555 raise ResourceError ("Unhandled error." ) from err
@@ -60,7 +60,7 @@ def fork(self, user, repo):
6060 try :
6161 return self .gl .projects .get ('{}/{}' .format (user , repo )).forks .create ({}).path_with_namespace
6262 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' :
6464 raise ResourceExistsError ("Project already exists." ) from err
6565 else :
6666 raise ResourceError ("Unhandled error: {}" .format (err )) from err
@@ -71,8 +71,8 @@ def delete(self, repo, user=None):
7171 try :
7272 repository = self .gl .projects .get ('{}/{}' .format (user , repo ))
7373 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 :
7676 raise ResourceNotFoundError ("Cannot delete: repository {}/{} does not exists." .format (user , repo ))
7777 except GitlabGetError as err :
7878 if err .response_code == 404 :
@@ -197,7 +197,7 @@ def load_file(fname, path='.'):
197197
198198 data = {
199199 'title' : description ,
200- 'visibility_level ' : 0 if secret else 20
200+ 'visibility ' : 'private' if secret else 'public'
201201 }
202202
203203 try :
@@ -211,12 +211,11 @@ def load_file(fname, path='.'):
211211 namespace = self .username
212212 gist_path = gist_pathes [1 ]
213213 data .update ({
214- 'project_id' : '/' .join ([namespace , project ]),
215214 'code' : load_file (gist_path ),
216215 'file_name' : os .path .basename (gist_path ),
217216 }
218217 )
219- gist = self .gl .project_snippets .create (data )
218+ gist = self .gl .projects . get ( '/' . join ([ namespace , project ])). snippets .create (data )
220219
221220 elif len (gist_pathes ) == 1 :
222221 gist_path = gist_pathes [0 ]
@@ -231,6 +230,7 @@ def load_file(fname, path='.'):
231230 except GitlabCreateError as err :
232231 if err .response_code == 422 :
233232 raise ResourceNotFoundError ('Feature not available, please upgrade your gitlab instance.' ) from err
233+ breakpoint ()
234234 raise ResourceError ('Cannot create snippet' ) from err
235235
236236 def gist_delete (self , snippet ):
@@ -302,7 +302,7 @@ def request_create(self, onto_user, onto_repo, from_branch, onto_branch, title=N
302302 if not title and not description :
303303 raise ArgumentError ('Missing message for request creation' )
304304
305- request = self .gl .projects .get (project .id ).mergerequests .create (
305+ request = self .gl .projects .get (from_project .id ).mergerequests .create (
306306 {
307307 'source_branch' : from_branch ,
308308 'target_branch' : onto_branch ,
@@ -323,14 +323,17 @@ def request_create(self, onto_user, onto_repo, from_branch, onto_branch, title=N
323323
324324 except GitlabGetError as err :
325325 raise ResourceNotFoundError (err ) from err
326+ except GitlabCreateError as err :
327+ raise ResourceError ("Creation error: {}" .format (err )) from err
326328 except Exception as err :
329+ breakpoint ()
327330 raise ResourceError ("Unhandled error: {}" .format (err )) from err
328331
329332 def request_list (self , user , repo ):
330333 project = self .gl .projects .get ('/' .join ([user , repo ]))
331334 yield "{:>3}\t {:<60}\t {:2}"
332335 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 () :
334337 yield ( str (mr .iid ),
335338 mr .title ,
336339 mr .web_url
0 commit comments