Exemplo n.º 1
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)
Exemplo 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')
Exemplo n.º 3
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')
Exemplo n.º 4
0
        """
        Returns a BytesIO instance of `image` with inverted colors
        """
        image = image.convert('RGBA')

        txt = Image.new('RGBA', image.size, (255, 255, 255, 0))

        # get a font
        fnt = ImageFont.truetype("arial.ttf", 200)
        # get a drawing context
        d = ImageDraw.Draw(txt)

        # draw text, half opacity
        d.text((750, 2000),
               "Klaudia Kusik Art",
               font=fnt,
               fill=(255, 255, 255, 128))

        imagefile = BytesIO()
        inv_image = Image.alpha_composite(image, txt)
        inv_image = inv_image.convert("RGB")
        inv_image.save(
            imagefile,
            **save_kwargs,
        )
        print(imagefile)
        return imagefile


versatileimagefield_registry.register_filter('water', WatermarkImage)