def render(self, context): img_url = '' user = Variable(self.user_var).resolve(context) try: profile = user.get_profile() except: profile = None logger.warning("Can't get user profile") if profile: if profile.use_gravatar: import urllib, hashlib img_url = "http://www.gravatar.com/avatar/" + hashlib.md5(user.email.lower()).hexdigest() + "?" img_url += urllib.urlencode({ 'd': img_url, 's': str(self.size) }) elif profile.avatar: img_url = profile.avatar.url else: img_url = DEFAULT_AVATAR_URLS[profile.gender or ''] return u'<img src="%s" alt="%s" title="%s" width="%s" height="%s" />' % (img_url, user.username, user.get_full_name() or user.username, self.size, self.size)