From ac2e534fb811f3c1295c742e74dcb14a3c1ff0c1 Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Thu, 11 Feb 2016 22:50:41 -0500 Subject: define UserManager.get_by_username() to get a user by username --- gitlab/objects.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gitlab/objects.py') 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' -- cgit v1.2.1