Example #1
0
    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)