diff --git a/src/snek/view/avatar.py b/src/snek/view/avatar.py index c984ec1..1a9c2d9 100644 --- a/src/snek/view/avatar.py +++ b/src/snek/view/avatar.py @@ -71,7 +71,10 @@ class AvatarView(BaseView): uid = self.request.match_info.get("uid") if uid == "unique": uid = str(uuid.uuid4()) - avatar = multiavatar.multiavatar(uid, True, None) + avatar = await self.app.get(uid) + if not avatar: + avatar = multiavatar.multiavatar(uid, True, None) + await self.app.set(uid, avatar) response = web.Response(text=avatar, content_type="image/svg+xml") response.headers["Cache-Control"] = f"public, max-age={1337*42}" return response