Gitlab can return None for avatar blocks

Because reasons!
This commit is contained in:
Joseph Schorr 2017-04-21 17:37:00 -04:00
parent cc88cfb6ad
commit 69ff58f7bd
3 changed files with 70 additions and 32 deletions

View file

@ -275,19 +275,24 @@ class GitLabBuildTrigger(BuildTriggerHandler):
namespaces = {}
repositories = _paginated_iterator(gl_client.getprojects, RepositoryReadException)
for repo in repositories:
namespace = repo['namespace']
namespace = repo.get('namespace') or {}
if not namespace:
continue
namespace_id = namespace['id']
avatar_url = ''
if 'avatar' in namespace:
avatar_url = namespace.get('avatar', {}).get('url')
avatar_data = namespace.get('avatar') or {}
avatar_url = avatar_data.get('url')
elif 'owner' in repo:
avatar_url = repo.get('owner', {}).get('avatar_url')
owner_data = repo.get('owner') or {}
avatar_url = owner_data.get('avatar_url')
if namespace_id in namespaces:
namespaces[namespace_id]['score'] = namespaces[namespace_id]['score'] + 1
else:
owner = repo['namespace']['name']
owner = namespace['name']
namespaces[namespace_id] = {
'personal': owner == current_user['username'],
'id': namespace['path'],