Beispiel #1
0
    def test_get_gravatar(self):
        template = 's=%(size)s&d=%(type)s'

        # Check the defaults.
        parsed = urlparse(get_gravatar('*****@*****.**'))
        self.failUnlessEqual(
            parse_qs(parsed.query),
            parse_qs(template % {
                'size': 80,
                'type': 'identicon'
            }))

        # Check different size
        parsed = urlparse(get_gravatar('*****@*****.**', size=200))
        self.failUnlessEqual(
            parse_qs(parsed.query),
            parse_qs(template % {
                'size': 200,
                'type': 'identicon'
            }))

        # Check different default
        parsed = urlparse(get_gravatar('*****@*****.**', default='404'))
        self.failUnlessEqual(parse_qs(parsed.query),
                             parse_qs(template % {
                                 'size': 80,
                                 'type': '404'
                             }))
Beispiel #2
0
    def test_get_gravatar(self):
        template = '//www.gravatar.com/avatar/%(hash)s?s=%(size)s&d=%(type)s'

        # The hash for [email protected]
        hash = hashlib.md5('*****@*****.**').hexdigest()

        # Check the defaults.
        self.failUnlessEqual(get_gravatar('*****@*****.**'),
                             template % {'hash': hash,
                                         'size': 80,
                                         'type': 'identicon'})

        # Check different size
        self.failUnlessEqual(get_gravatar('*****@*****.**', size=200),
                             template % {'hash': hash,
                                         'size': 200,
                                         'type': 'identicon'})

        # Check different default
        http_404 = get_gravatar('*****@*****.**', default='404')
        self.failUnlessEqual(http_404,
                             template % {'hash': hash,
                                         'size': 80,
                                         'type': '404'})

        # Is it really a 404?
        response = self.client.get(http_404)
        self.failUnlessEqual(response.status_code, 404)
Beispiel #3
0
    def test_get_gravatar(self):
        template = "http://www.gravatar.com/avatar/%(hash)s?s=%(size)s&d=%(type)s"

        # The hash for [email protected]
        hash = hashlib.md5("*****@*****.**").hexdigest()

        # Check the defaults.
        self.failUnlessEqual(
            get_gravatar("*****@*****.**"), template % {"hash": hash, "size": 80, "type": "identicon"}
        )

        # Check different size
        self.failUnlessEqual(
            get_gravatar("*****@*****.**", size=200), template % {"hash": hash, "size": 200, "type": "identicon"}
        )

        # Check different default
        http_404 = get_gravatar("*****@*****.**", default="404")
        self.failUnlessEqual(http_404, template % {"hash": hash, "size": 80, "type": "404"})

        # Is it really a 404?
        response = self.client.get(http_404)
        self.failUnlessEqual(response.status_code, 404)

        # Test the switch to HTTPS
        userena_settings.USERENA_MUGSHOT_GRAVATAR_SECURE = True

        template = "https://secure.gravatar.com/avatar/%(hash)s?s=%(size)s&d=%(type)s"
        self.failUnlessEqual(
            get_gravatar("*****@*****.**"), template % {"hash": hash, "size": 80, "type": "identicon"}
        )

        # And set back to default
        userena_settings.USERENA_MUGSHOT_GRAVATAR_SECURE = False
    def test_get_gravatar(self):
        template = '//www.gravatar.com/avatar/%(hash)s?s=%(size)s&d=%(type)s'

        # The hash for [email protected]
        hash = hashlib.md5('*****@*****.**').hexdigest()

        # Check the defaults.
        self.failUnlessEqual(get_gravatar('*****@*****.**'),
                             template % {'hash': hash,
                                         'size': 80,
                                         'type': 'identicon'})

        # Check different size
        self.failUnlessEqual(get_gravatar('*****@*****.**', size=200),
                             template % {'hash': hash,
                                         'size': 200,
                                         'type': 'identicon'})

        # Check different default
        http_404 = get_gravatar('*****@*****.**', default='404')
        self.failUnlessEqual(http_404,
                             template % {'hash': hash,
                                         'size': 80,
                                         'type': '404'})

        # Is it really a 404?
        response = self.client.get(http_404)
        self.failUnlessEqual(response.status_code, 404)
    def test_get_gravatar(self):
        template = "s=%(size)s&d=%(type)s"

        # Check the defaults.
        parsed = urlparse(get_gravatar("*****@*****.**"))
        self.assertEqual(
            parse_qs(parsed.query),
            parse_qs(template % {
                "size": 80,
                "type": "identicon"
            }),
        )

        # Check different size
        parsed = urlparse(get_gravatar("*****@*****.**", size=200))
        self.assertEqual(
            parse_qs(parsed.query),
            parse_qs(template % {
                "size": 200,
                "type": "identicon"
            }),
        )

        # Check different default
        parsed = urlparse(get_gravatar("*****@*****.**", default="404"))
        self.assertEqual(parse_qs(parsed.query),
                         parse_qs(template % {
                             "size": 80,
                             "type": "404"
                         }))
Beispiel #6
0
    def test_get_gravatar(self):
        template = 'http://www.gravatar.com/avatar/%(hash)s?s=%(size)s&d=%(type)s'

        # The hash for [email protected]
        hash = hashlib.md5('*****@*****.**').hexdigest()

        # Check the defaults.
        self.failUnlessEqual(
            get_gravatar('*****@*****.**'), template % {
                'hash': hash,
                'size': 80,
                'type': 'identicon'
            })

        # Check different size
        self.failUnlessEqual(
            get_gravatar('*****@*****.**', size=200), template % {
                'hash': hash,
                'size': 200,
                'type': 'identicon'
            })

        # Check different default
        http_404 = get_gravatar('*****@*****.**', default='404')
        self.failUnlessEqual(
            http_404, template % {
                'hash': hash,
                'size': 80,
                'type': '404'
            })

        # Is it really a 404?
        response = self.client.get(http_404)
        self.failUnlessEqual(response.status_code, 404)

        # Test the switch to HTTPS
        userena_settings.USERENA_MUGSHOT_GRAVATAR_SECURE = True

        template = 'https://secure.gravatar.com/avatar/%(hash)s?s=%(size)s&d=%(type)s'
        self.failUnlessEqual(
            get_gravatar('*****@*****.**'), template % {
                'hash': hash,
                'size': 80,
                'type': 'identicon'
            })

        # And set back to default
        userena_settings.USERENA_MUGSHOT_GRAVATAR_SECURE = False
Beispiel #7
0
    def get_mugshot_url(self):
        """
        Returns the image containing the mugshot for the user.

        The mugshot can be a uploaded image or a Gravatar.

        Gravatar functionality will only be used when
        ``USERENA_MUGSHOT_GRAVATAR`` is set to ``True``.

        :return:
            ``None`` when Gravatar is not used and no default image is supplied
            by ``USERENA_MUGSHOT_DEFAULT``.

        """
        # First check for a mugshot and if any return that.
        if self.mugshot:
            return self.mugshot.url

        # Use Gravatar if the user wants to.
        if userena_settings.USERENA_MUGSHOT_GRAVATAR:
            return get_gravatar(self.user.email,
                                userena_settings.USERENA_MUGSHOT_SIZE,
                                userena_settings.USERENA_MUGSHOT_DEFAULT)

        # Gravatar not used, check for a default image.
        else:
            if userena_settings.USERENA_MUGSHOT_DEFAULT not in [
                    '404', 'mm', 'identicon', 'monsterid', 'wavatar'
            ]:
                return userena_settings.USERENA_MUGSHOT_DEFAULT
            else:
                return None
Beispiel #8
0
    def get_mugshot_url(self):
        """
        Returns the image containing the mugshot for the user.

        The mugshot can be a uploaded image or a Gravatar.

        Gravatar functionality will only be used when
        ``USERENA_MUGSHOT_GRAVATAR`` is set to ``True``.

        :return:
            ``None`` when Gravatar is not used and no default image is supplied
            by ``USERENA_MUGSHOT_DEFAULT``.

        """
        # First check for a mugshot and if any return that.
        if self.mugshot:
            return self.mugshot.url

        # Use Gravatar if the user wants to.
        if userena_settings.USERENA_MUGSHOT_GRAVATAR:
            return get_gravatar(self.user.email,
                                userena_settings.USERENA_MUGSHOT_SIZE,
                                userena_settings.USERENA_MUGSHOT_DEFAULT)

        # Gravatar not used, check for a default image.
        else:
            if userena_settings.USERENA_MUGSHOT_DEFAULT not in ['404', 'mm',
                                                                'identicon',
                                                                'monsterid',
                                                                'wavatar']:
                return userena_settings.USERENA_MUGSHOT_DEFAULT
            else: return None
Beispiel #9
0
 def get_mugshot_url(self, width=0):
     if self.image:
         url = self.image.url
     else:
         if width <= 0:
             width = userena_settings.USERENA_MUGSHOT_SIZE
         url = get_gravatar(self.user.email,
                            width,
                            userena_settings.USERENA_MUGSHOT_DEFAULT)
     return url
Beispiel #10
0
    def test_get_gravatar(self):
        template = 'http://www.gravatar.com/avatar/%(hash)s?s=%(size)s&d=%(type)s'

        # The hash for [email protected]
        hash = hashlib.md5('*****@*****.**').hexdigest()

        # Check the defaults.
        self.failUnlessEqual(get_gravatar('*****@*****.**'),
                             template % {'hash': hash,
                                         'size': 80,
                                         'type': 'identicon'})

        # Check different size
        self.failUnlessEqual(get_gravatar('*****@*****.**', size=200),
                             template % {'hash': hash,
                                         'size': 200,
                                         'type': 'identicon'})

        # Check different default
        http_404 = get_gravatar('*****@*****.**', default='404')
        self.failUnlessEqual(http_404,
                             template % {'hash': hash,
                                         'size': 80,
                                         'type': '404'})

        # Is it really a 404?
        response = self.client.get(http_404)
        self.failUnlessEqual(response.status_code, 404)

        # Test the switch to HTTPS
        userena_settings.USERENA_MUGSHOT_GRAVATAR_SECURE = True

        template = 'https://secure.gravatar.com/avatar/%(hash)s?s=%(size)s&d=%(type)s'
        self.failUnlessEqual(get_gravatar('*****@*****.**'),
                             template % {'hash': hash,
                                         'size': 80,
                                         'type': 'identicon'})

        # And set back to default
        userena_settings.USERENA_MUGSHOT_GRAVATAR_SECURE = False
Beispiel #11
0
    def test_get_gravatar(self):
        template = 's=%(size)s&d=%(type)s'

        # Check the defaults.
        parsed = urlparse(get_gravatar('*****@*****.**'))
        self.failUnlessEqual(
            parse_qs(parsed.query),
            parse_qs(template % {'size': 80, 'type': 'identicon'})
        )

        # Check different size
        parsed = urlparse(get_gravatar('*****@*****.**', size=200))
        self.failUnlessEqual(
            parse_qs(parsed.query),
            parse_qs(template % {'size': 200, 'type': 'identicon'})
        )

        # Check different default
        parsed = urlparse(get_gravatar('*****@*****.**', default='404'))
        self.failUnlessEqual(
            parse_qs(parsed.query),
            parse_qs(template % {'size': 80, 'type': '404'})
        )
Beispiel #12
0
    def get_mugshot_url(self, custom_size = userena_settings.USERENA_MUGSHOT_SIZE):
        """
        Returns the image containing the mugshot for the user.

        The mugshot can be a uploaded image or a Gravatar.

        Gravatar functionality will only be used when
        ``USERENA_MUGSHOT_GRAVATAR`` is set to ``True``.

        :return:
            ``None`` when Gravatar is not used and no default image is supplied
            by ``USERENA_MUGSHOT_DEFAULT``.

        """
        # First check for a mugshot and if any return that.
        if self.mugshot:
            return settings.MEDIA_URL +\
                   settings.MUGSHOTS_DIR +\
                   self.mugshot.name.split("/")[-1]

        # Use Gravatar if the user wants to.
        if userena_settings.USERENA_MUGSHOT_GRAVATAR:
            if userena_settings.USERENA_MUGSHOT_DEFAULT == 'blank-unitials-ssl':
                d = 'https://unitials.com/mugshot/%s/%s.png' % (
                    custom_size, self.get_initials()
                )
            elif userena_settings.USERENA_MUGSHOT_DEFAULT == 'blank-unitials':
                d = 'http://unitials.com/mugshot/%s/%s.png' % (
                    custom_size, self.get_initials()
                )
            return get_gravatar(self.user.email, custom_size, d)

        # Gravatar not used, check for a default image.
        else:
            if userena_settings.USERENA_MUGSHOT_DEFAULT not in ['404', 'mm',
                                                                'identicon',
                                                                'monsterid',
                                                                'wavatar',
                                                                'blank']:
                return userena_settings.USERENA_MUGSHOT_DEFAULT
            else: return None
Beispiel #13
0
    def get_mugshot_url(self,
                        custom_size=userena_settings.USERENA_MUGSHOT_SIZE):
        """
        Returns the image containing the mugshot for the user.

        The mugshot can be a uploaded image or a Gravatar.

        Gravatar functionality will only be used when
        ``USERENA_MUGSHOT_GRAVATAR`` is set to ``True``.

        :return:
            ``None`` when Gravatar is not used and no default image is supplied
            by ``USERENA_MUGSHOT_DEFAULT``.

        """
        # First check for a mugshot and if any return that.
        if self.mugshot:
            return settings.MEDIA_URL +\
                   settings.MUGSHOTS_DIR +\
                   self.mugshot.name.split("/")[-1]

        # Use Gravatar if the user wants to.
        if userena_settings.USERENA_MUGSHOT_GRAVATAR:
            if userena_settings.USERENA_MUGSHOT_DEFAULT == 'blank-unitials-ssl':
                d = 'https://unitials.com/mugshot/%s/%s.png' % (
                    custom_size, self.get_initials())
            elif userena_settings.USERENA_MUGSHOT_DEFAULT == 'blank-unitials':
                d = 'http://unitials.com/mugshot/%s/%s.png' % (
                    custom_size, self.get_initials())
            return get_gravatar(self.user.email, custom_size, d)

        # Gravatar not used, check for a default image.
        else:
            if userena_settings.USERENA_MUGSHOT_DEFAULT not in [
                    '404', 'mm', 'identicon', 'monsterid', 'wavatar', 'blank'
            ]:
                return userena_settings.USERENA_MUGSHOT_DEFAULT
            else:
                return None
 def get_mugshot_url(self):
     """
         (Basada en la funcion de userena)
         Devuelve la url donde esta la imagen que tenga seleccionada el usuario
         
         El usuario puede subir imagenes, usar gravatar, facebook o twitter
     """
     # First check for a mugshot and if any return that.
     if self.sync_avatar_with == 0 and self.mugshot:
         return self.mugshot.url
     elif self.sync_avatar_with == 1:
         return get_gravatar(self.user.email,
                             settings.USERENA_MUGSHOT_SIZE,
                             settings.USERENA_MUGSHOT_DEFAULT)
     elif self.sync_avatar_with == 2:
         facebook = FacebookProfile.objects.get(user=self.user)
         if facebook is not None:
             return facebook.get_avatar_url()
     elif self.sync_avatar_with == 3:
         twitter = TwitterProfile.objects.get(user=self.user)
         if twitter is not None:
             return twitter.get_avatar_url()
     return #settings.DEFAULT_AVATAR
Beispiel #15
0
 def get_gravatar_mugshot(self, custom_size = userena_settings.USERENA_MUGSHOT_SIZE):
     d = self.get_initials_mugshot(custom_size)
     return get_gravatar(self.user.email, custom_size, d)
 def get_gravatar_mugshot(self, custom_size = userena_settings.USERENA_MUGSHOT_SIZE):
     d = self.get_initials_mugshot(custom_size)
     return get_gravatar(self.user.email, custom_size, d)
Beispiel #17
0
 def get_avatar_url(self):
     if len(self.avatar.name) > 0:
         return os.path.join(settings.MEDIA_URL, self.avatar.name)
     else:
         from userena.utils import get_gravatar
         return get_gravatar(self.user.email, 200, 'monsterid')