From 2240fc3450654fdb3a91e83a86c96d304d259943 Mon Sep 17 00:00:00 2001 From: Tristan Cacqueray Date: Wed, 18 May 2016 09:40:09 -0400 Subject: [PATCH] Add _get_username method to discover username This change mitigate this exception: File "gerritbot/bot.py", line 154, in change_created data['patchSet']['uploader']['name'], KeyError: 'name' Change-Id: Ia1f394d6ff0e158df16461cf3150761f6ec12f29 --- gerritbot/bot.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gerritbot/bot.py b/gerritbot/bot.py index 6db4462..25d0e03 100755 --- a/gerritbot/bot.py +++ b/gerritbot/bot.py @@ -182,9 +182,18 @@ class Gerrit(threading.Thread): # Delay before attempting again. time.sleep(1) + @staticmethod + def _get_username(patchset): + # Try to find username + for key in ('name', 'username', 'email'): + username = patchset['uploader'].get(key) + if username: + return username + return "UNKNOWN USER" + def patchset_created(self, channel, data): msg = '%s proposed %s %s: %s %s' % ( - data['patchSet']['uploader']['name'], + self._get_username(data['patchSet']), data['change']['project'], data['change']['branch'], data['change']['subject'],