Adding avatar to list_user function in importers

remotes/origin/github-import
Jesús Espino 2017-02-15 09:16:57 +01:00
parent aaedfab439
commit 176e2fc2c5
4 changed files with 13 additions and 3 deletions

View File

@ -49,11 +49,12 @@ class AsanaImporter:
def list_users(self, project_id): def list_users(self, project_id):
users = [] users = []
for ws in self._client.workspaces.find_all(): for ws in self._client.workspaces.find_all():
for user in self._client.users.find_by_workspace(ws['id'], fields=["id", "name", "email"]): for user in self._client.users.find_by_workspace(ws['id'], fields=["id", "name", "email", "photo"]):
users.append({ users.append({
"id": user["id"], "id": user["id"],
"full_name": user['name'], "full_name": user['name'],
"detected_user": self._get_user(user) "detected_user": self._get_user(user),
"avatar": user.get('photo', None) and user['photo'].get('image_60x60', None)
}) })
return users return users

View File

@ -88,6 +88,7 @@ class GithubImporter:
return [{"id": u['id'], return [{"id": u['id'],
"username": u['login'], "username": u['login'],
"full_name": u.get('name', u['login']), "full_name": u.get('name', u['login']),
"avatar": u.get('avatar_url', None),
"detected_user": self._get_user(u) } for u in collaborators] "detected_user": self._get_user(u) } for u in collaborators]
def _get_user(self, user, default=None): def _get_user(self, user, default=None):

View File

@ -176,6 +176,7 @@ class JiraImporterCommon:
"id": user_data['key'], "id": user_data['key'],
"full_name": user_data['displayName'], "full_name": user_data['displayName'],
"email": user_data['emailAddress'], "email": user_data['emailAddress'],
"avatar": user_data.get('avatarUrls', None) and user_data['avatarUrls'].get('48x48', None),
}) })
return result return result

View File

@ -126,11 +126,18 @@ class TrelloImporter:
def list_users(self, project_id): def list_users(self, project_id):
members = [] members = []
for member in self._client.get("/board/{}/members/all".format(project_id), {"fields": "id"}): for member in self._client.get("/board/{}/members/all".format(project_id), {"fields": "id"}):
user = self._client.get("/member/{}".format(member['id']), {"fields": "id,fullName,email"}) user = self._client.get("/member/{}".format(member['id']), {"fields": "id,fullName,email,avatarSource,avatarHash,gravatarHash"})
print(user)
if user['avatarSource'] == "gravatar":
avatar = 'https://www.gravatar.com/avatar/' + user['gravatarHash'] + '.jpg?s=50'
else:
avatar = 'https://trello-avatars.s3.amazonaws.com/' + user['avatarHash'] + '/50.png'
members.append({ members.append({
"id": user['id'], "id": user['id'],
"full_name": user['fullName'], "full_name": user['fullName'],
"email": user['email'], "email": user['email'],
"avatar": avatar
}) })
return members return members