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')
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)
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)
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 )
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):