Exemplo n.º 1
0
    def test_avatar_caching( self ):
        # 1. add first avatar
        self.client.login( username='******', password='******' )
        self.assertEqual( get_avatar_path( self.u, 72 ), self._to_media_url( DEFAULT_AVATAR, 72 ) )
        
        self.client.post( reverse( 'edit_avatar' ), { "photo": self.image } )
        self.client.post( reverse( 'crop_avatar' ), { "top": 1, "left": 1, "bottom": 100, "right": 100 } )

        avatar = Avatar.objects.get( user=self.u, valid=True )
        self.assertEqual( get_avatar_path( self.u, 72 ), self._to_media_url( avatar.image.url, 72 ) )

        shutil.copy( avatar.image.path, self.tmp_file )

        # 2. replace avatar
        self.client.post( reverse( 'edit_avatar' ), { "photo": self.image2 } )
        self.client.post( reverse( 'crop_avatar' ), { "top": 1, "left": 1, "bottom": 100, "right": 100 } )

        avatar = Avatar.objects.get( user=self.u, valid=True )
        self.assertEqual( get_avatar_path( self.u, 72 ), self._to_media_url( avatar.image.url, 72 ) )

        rms = self._compare_images( self.tmp_file, avatar.image.path )
        self.assertTrue( rms > 0.0 )

        # 3. remove avatar
        Avatar.objects.get( user=self.u ).delete()
        self.assertEqual( get_avatar_path( self.u, 72 ), self._to_media_url( DEFAULT_AVATAR, 72 ) )
Exemplo n.º 2
0
    def test_no_avatar_in_storage( self ):
        self.client.login( username='******', password='******' )
        self.client.post( reverse( 'edit_avatar' ), { "photo": self.image } )
        self.client.post( reverse( 'crop_avatar' ), { "top": 1, "left": 1, "bottom": 100, "right": 100 } )

        avatar = Avatar.objects.get( user=self.u, valid=True )
        self.assertEqual( get_avatar_path( self.u, 72 ), self._to_media_url( avatar.image.url, 72 ) )

        os.remove( avatar.image.path )
        os.remove( os.path.join( settings.MEDIA_ROOT, self._to_media_url( avatar.image.name, 72 ) ) )
        self.assertEqual( get_avatar_path( self.u, 72 ), self._to_media_url( DEFAULT_AVATAR, 72 ) )
Exemplo n.º 3
0
    def save(self):
        avatars = Avatar.objects.filter(user=self.user, valid=self.valid).exclude(id=self.id)
        if not avatars:
            self.clear_cache()

        for avatar in avatars:
            base, filename = os.path.split(avatar.image.path)
            name, extension = os.path.splitext(filename)
            avatar.delete()

        super(Avatar, self).save()
        
        # generate all thumbnails
        from film20.utils.avatars import get_avatar_path
        for size in AVATAR_SIZES:
            get_avatar_path(self.user, size)
Exemplo n.º 4
0
    def save(self):
        avatars = Avatar.objects.filter(user=self.user, valid=self.valid).exclude(id=self.id)
        if not avatars:
            self.clear_cache()

        for avatar in avatars:
            base, filename = os.path.split(avatar.image.path)
            name, extension = os.path.splitext(filename)
            avatar.delete()

        super(Avatar, self).save()
        
        # generate all thumbnails
        from film20.utils.avatars import get_avatar_path
        for size in AVATAR_SIZES:
            get_avatar_path(self.user, size)
Exemplo n.º 5
0
    def test_no_avatar_in_storage(self):
        self.client.login(username='******', password='******')
        self.client.post(reverse('edit_avatar'), {"photo": self.image})
        self.client.post(reverse('crop_avatar'), {
            "top": 1,
            "left": 1,
            "bottom": 100,
            "right": 100
        })

        avatar = Avatar.objects.get(user=self.u, valid=True)
        self.assertEqual(get_avatar_path(self.u, 72),
                         self._to_media_url(avatar.image.url, 72))

        os.remove(avatar.image.path)
        os.remove(
            os.path.join(settings.MEDIA_ROOT,
                         self._to_media_url(avatar.image.name, 72)))
        self.assertEqual(get_avatar_path(self.u, 72),
                         self._to_media_url(DEFAULT_AVATAR, 72))
Exemplo n.º 6
0
    def test_avatar_caching(self):
        # 1. add first avatar
        self.client.login(username='******', password='******')
        self.assertEqual(get_avatar_path(self.u, 72),
                         self._to_media_url(DEFAULT_AVATAR, 72))

        self.client.post(reverse('edit_avatar'), {"photo": self.image})
        self.client.post(reverse('crop_avatar'), {
            "top": 1,
            "left": 1,
            "bottom": 100,
            "right": 100
        })

        avatar = Avatar.objects.get(user=self.u, valid=True)
        self.assertEqual(get_avatar_path(self.u, 72),
                         self._to_media_url(avatar.image.url, 72))

        shutil.copy(avatar.image.path, self.tmp_file)

        # 2. replace avatar
        self.client.post(reverse('edit_avatar'), {"photo": self.image2})
        self.client.post(reverse('crop_avatar'), {
            "top": 1,
            "left": 1,
            "bottom": 100,
            "right": 100
        })

        avatar = Avatar.objects.get(user=self.u, valid=True)
        self.assertEqual(get_avatar_path(self.u, 72),
                         self._to_media_url(avatar.image.url, 72))

        rms = self._compare_images(self.tmp_file, avatar.image.path)
        self.assertTrue(rms > 0.0)

        # 3. remove avatar
        Avatar.objects.get(user=self.u).delete()
        self.assertEqual(get_avatar_path(self.u, 72),
                         self._to_media_url(DEFAULT_AVATAR, 72))
Exemplo n.º 7
0
def avatars(size, activity_username):
    """
        Returns url to user avatar
    """

    return get_avatar_path(activity_username, size)
Exemplo n.º 8
0
def avatars(size, activity_username):
    """
        Returns url to user avatar
    """

    return get_avatar_path(activity_username, size)