From 2d6b5d4b677a8ad5f682632d5b559739f1c4f9c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Tue, 28 May 2019 16:10:49 +0200 Subject: [PATCH] Webhook: Update users' avatars with Celery task when changed on Blender ID --- cloud/webhooks.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cloud/webhooks.py b/cloud/webhooks.py index a1fd50e..6d7d082 100644 --- a/cloud/webhooks.py +++ b/cloud/webhooks.py @@ -164,6 +164,7 @@ def user_modified(): 'old_email': 'old@example.com', 'full_name': 'Harry', 'email': 'new@example'com, + 'avatar_changed': True, 'roles': ['role1', 'role2', …]} """ my_log = log.getChild('user_modified') @@ -199,6 +200,11 @@ def user_modified(): updates['full_name'] = db_user['username'] db_user['full_name'] = updates['full_name'] + if payload.get('avatar_changed'): + import pillar.celery.avatar + my_log.info('User %s changed avatar, scheduling download', db_user['_id']) + pillar.celery.avatar.sync_avatar_for_user.delay(str(db_user['_id'])) + if updates: users_coll = current_app.db('users') update_res = users_coll.update_one({'_id': db_user['_id']},