diff --git a/gitlab.py b/gitlab.py index 7d9d693db..959c64992 100644 --- a/gitlab.py +++ b/gitlab.py @@ -96,6 +96,8 @@ def list(self, objClass, **kwargs): for obj in l: obj.__dict__[k] = v return l + elif r.status_code == 401: + raise GitlabAuthenticationError(r.json['message']) else: raise GitlabGetError('%d: %s'%(r.status_code, r.text)) @@ -120,6 +122,8 @@ def get(self, objClass, id, **kwargs): for k,v in kwargs.items(): obj.__dict__[k] = v return obj + elif r.status_code == 401: + raise GitlabAuthenticationError(r.json['message']) else: raise GitlabGetError('%d: %s'%(r.status_code, r.text)) @@ -137,6 +141,8 @@ def delete(self, objClass, id, **kwargs): if r.status_code == 200: return True + elif r.status_code == 401: + raise GitlabAuthenticationError(r.json['message']) return False def create(self, objClass, objData, **kwargs): @@ -156,6 +162,8 @@ def create(self, objClass, objData, **kwargs): cls = objClass.returnClass return cls(self, r.json) + elif r.status_code == 401: + raise GitlabAuthenticationError(r.json['message']) else: raise GitlabCreateError('%d: %s'%(r.status_code, r.text)) @@ -176,6 +184,8 @@ def update(self, objClass, id, objData, **kwargs): cls = objClass.returnClass return cls(self, r.json) + elif r.status_code == 401: + raise GitlabAuthenticationError(r.json['message']) else: raise GitlabUpdateError('%d: %s'%(r.status_code, r.text))