summaryrefslogtreecommitdiff
path: root/gitlab/objects.py
diff options
context:
space:
mode:
authorRichard Hansen <rhansen@rhansen.org>2016-02-11 22:50:41 -0500
committerRichard Hansen <rhansen@rhansen.org>2016-02-12 02:40:58 -0500
commitac2e534fb811f3c1295c742e74dcb14a3c1ff0c1 (patch)
tree3e0347d15f9a1e40e8d2d922de73fbd7cf971cf4 /gitlab/objects.py
parent8f59516a4d7d5c6c654e8c2531092e217d13a4be (diff)
downloadgitlab-ac2e534fb811f3c1295c742e74dcb14a3c1ff0c1.tar.gz
define UserManager.get_by_username() to get a user by username
Diffstat (limited to 'gitlab/objects.py')
-rw-r--r--gitlab/objects.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/gitlab/objects.py b/gitlab/objects.py
index 7a679fc..8e94cb2 100644
--- a/gitlab/objects.py
+++ b/gitlab/objects.py
@@ -573,6 +573,20 @@ class UserManager(BaseManager):
url = self.obj_cls._url + '?search=' + query
return self._custom_list(url, self.obj_cls, **kwargs)
+ def get_by_username(self, username, **kwargs):
+ """Get a user by its username.
+
+ Returns a User object or None if the named user does not
+ exist.
+ """
+ url = self.obj_cls._url + '?username=' + username
+ results = self._custom_list(url, self.obj_cls, **kwargs)
+ assert len(results) in (0, 1)
+ try:
+ return results[0]
+ except IndexError:
+ raise GitlabGetError('no such user: ' + username)
+
class CurrentUserKey(GitlabObject):
_url = '/user/keys'