Ejemplo n.º 1
0
    def test_registration_exceptions(self):
        """
        Ensures all registration-related exceptions fire as expected
        """
        class A(object):
            pass

        with self.assertRaises(InvalidSizedImageSubclass):
            versatileimagefield_registry.register_sizer('a', A)

        with self.assertRaises(InvalidFilteredImageSubclass):
            versatileimagefield_registry.register_filter('a', A)

        with self.assertRaises(UnallowedSizerName):
            versatileimagefield_registry.register_sizer('chunks', CroppedImage)

        with self.assertRaises(UnallowedFilterName):
            versatileimagefield_registry.register_filter('_poop', InvertImage)

        with self.assertRaises(AlreadyRegistered):
            versatileimagefield_registry.register_sizer('crop', CroppedImage)

        with self.assertRaises(AlreadyRegistered):
            versatileimagefield_registry.register_filter('invert', InvertImage)

        with self.assertRaises(NotRegistered):
            versatileimagefield_registry.unregister_sizer('poop')

        with self.assertRaises(NotRegistered):
            versatileimagefield_registry.unregister_filter('poop')
Ejemplo n.º 2
0
    def test_registration_exceptions(self):
        """
        Ensures all registration-related exceptions fire as expected
        """
        class A(object):
                pass

        with self.assertRaises(InvalidSizedImageSubclass):
            versatileimagefield_registry.register_sizer('a', A)

        with self.assertRaises(InvalidFilteredImageSubclass):
            versatileimagefield_registry.register_filter('a', A)

        with self.assertRaises(UnallowedSizerName):
            versatileimagefield_registry.register_sizer('chunks', CroppedImage)

        with self.assertRaises(UnallowedFilterName):
            versatileimagefield_registry.register_filter('_poop', InvertImage)

        with self.assertRaises(AlreadyRegistered):
            versatileimagefield_registry.register_sizer('crop', CroppedImage)

        with self.assertRaises(AlreadyRegistered):
            versatileimagefield_registry.register_filter('invert', InvertImage)

        with self.assertRaises(NotRegistered):
            versatileimagefield_registry.unregister_sizer('poop')

        with self.assertRaises(NotRegistered):
            versatileimagefield_registry.unregister_filter('poop')
Ejemplo n.º 3
0
    def test_unregister_methods(self):
        """Ensure versatileimagefield_registry unregister methods work."""
        self.assertIn('crop', versatileimagefield_registry._sizedimage_registry)
        versatileimagefield_registry.unregister_sizer('crop')
        self.assertNotIn('crop', versatileimagefield_registry._sizedimage_registry)
        versatileimagefield_registry.register_sizer('crop', CroppedImage)

        self.assertIn('invert', versatileimagefield_registry._filter_registry)
        versatileimagefield_registry.unregister_filter('invert')
        self.assertNotIn('invert', versatileimagefield_registry._filter_registry)
        versatileimagefield_registry.register_filter('invert', InvertImage)
Ejemplo n.º 4
0
    def test_unregister_methods(self):
        """Ensure versatileimagefield_registry unregister methods work."""
        self.assertTrue(
            'crop' in versatileimagefield_registry._sizedimage_registry)
        versatileimagefield_registry.unregister_sizer('crop')
        self.assertFalse(
            'crop' in versatileimagefield_registry._sizedimage_registry)

        self.assertTrue(
            'invert' in versatileimagefield_registry._filter_registry)
        versatileimagefield_registry.unregister_filter('invert')
        self.assertFalse(
            'invert' in versatileimagefield_registry._filter_registry)
Ejemplo n.º 5
0
    def test_unregister_methods(self):
        """Ensure versatileimagefield_registry unregister methods work."""
        self.assertTrue(
            'crop' in versatileimagefield_registry._sizedimage_registry
        )
        versatileimagefield_registry.unregister_sizer('crop')
        self.assertFalse(
            'crop' in versatileimagefield_registry._sizedimage_registry
        )

        self.assertTrue(
            'invert' in versatileimagefield_registry._filter_registry
        )
        versatileimagefield_registry.unregister_filter('invert')
        self.assertFalse(
            'invert' in versatileimagefield_registry._filter_registry
        )
Ejemplo n.º 6
0
    def process_image(self, image, image_format, save_kwargs, width, height):
        save_kwargs['icc_profile'] = None
        return super(CustomThumbnailImage,
                     self).process_image(image, image_format, save_kwargs,
                                         width, height)


class CustomCroppedImage(CroppedImage):
    def process_image(self, image, image_format, save_kwargs, width, height):
        save_kwargs['icc_profile'] = None
        return super(CustomCroppedImage,
                     self).process_image(image, image_format, save_kwargs,
                                         width, height)


versatileimagefield_registry.unregister_sizer('thumbnail')
versatileimagefield_registry.register_sizer('thumbnail', CustomThumbnailImage)
versatileimagefield_registry.unregister_sizer('crop')
versatileimagefield_registry.register_sizer('crop', CustomCroppedImage)


def image_upload_to_dispatcher(instance, filename):
    """
    Dispatch function to allow overriding of ``image_upload_to`` method.
    Outside the model for fixing an issue with Django's migrations on Python 2.
    """
    return instance.image_upload_to(filename)


class ImageMixin(models.Model):
    def image_upload_to(self, filename):