summaryrefslogtreecommitdiff
path: root/graphics/py-mcomix/files/patch-mcomix_image__tools.py
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/py-mcomix/files/patch-mcomix_image__tools.py')
-rw-r--r--graphics/py-mcomix/files/patch-mcomix_image__tools.py115
1 files changed, 0 insertions, 115 deletions
diff --git a/graphics/py-mcomix/files/patch-mcomix_image__tools.py b/graphics/py-mcomix/files/patch-mcomix_image__tools.py
deleted file mode 100644
index 5f1b46a02ec2..000000000000
--- a/graphics/py-mcomix/files/patch-mcomix_image__tools.py
+++ /dev/null
@@ -1,115 +0,0 @@
---- mcomix/image_tools.py.orig 2016-02-12 18:51:58 UTC
-+++ mcomix/image_tools.py
-@@ -9,7 +9,6 @@ import gtk
- from PIL import Image
- from PIL import ImageEnhance
- from PIL import ImageOps
--from PIL.JpegImagePlugin import _getexif
- try:
- from PIL import PILLOW_VERSION
- PIL_VERSION = ('Pillow', PILLOW_VERSION)
-@@ -51,7 +50,38 @@ assert MISSING_IMAGE_ICON
- GTK_GDK_COLOR_BLACK = gtk.gdk.color_parse('black')
- GTK_GDK_COLOR_WHITE = gtk.gdk.color_parse('white')
-
-+def _getexif(im):
-+ exif={}
-+ try:
-+ exif.update(im.getexif())
-+ except AttributeError:
-+ pass
-+ if exif:
-+ return exif
-
-+ # Exif of PNG is still buggy in Pillow 6.0.0
-+ try:
-+ l1,l2,size,lines=im.info.get('Raw profile type exif').splitlines()
-+ if l2!='exif':
-+ # Not valid Exif data.
-+ return {}
-+ size=int(size)
-+ data=binascii.unhexlify(''.join(lines))
-+ if len(data)!=size:
-+ # Size not match.
-+ return {}
-+ im.info['exif']=data
-+ except:
-+ # Not valid Exif data.
-+ return {}
-+
-+ # load Exif again
-+ try:
-+ exif.update(im.getexif())
-+ except AttributeError:
-+ pass
-+ return exif
-+
- def rotate_pixbuf(src, rotation):
- rotation %= 360
- if 0 == rotation:
-@@ -300,14 +330,7 @@ def pil_to_pixbuf(im, keep_orientation=False):
- )
- if keep_orientation:
- # Keep orientation metadata.
-- orientation = None
-- exif = im.info.get('exif')
-- if exif is not None:
-- exif = _getexif(im)
-- orientation = exif.get(274, None)
-- if orientation is None:
-- # Maybe it's a PNG? Try alternative method.
-- orientation = _get_png_implied_rotation(im)
-+ orientation = _getexit(im).get(274, None)
- if orientation is not None:
- setattr(pixbuf, 'orientation', str(orientation))
- return pixbuf
-@@ -385,39 +408,6 @@ def enhance(pixbuf, brightness=1.0, contrast=1.0, satu
- im = ImageEnhance.Sharpness(im).enhance(sharpness)
- return pil_to_pixbuf(im)
-
--def _get_png_implied_rotation(pixbuf_or_image):
-- """Same as <get_implied_rotation> for PNG files.
--
-- Lookup for Exif data in the tEXt chunk.
-- """
-- if isinstance(pixbuf_or_image, gtk.gdk.Pixbuf):
-- exif = pixbuf_or_image.get_option('tEXt::Raw profile type exif')
-- elif isinstance(pixbuf_or_image, Image.Image):
-- exif = pixbuf_or_image.info.get('Raw profile type exif')
-- else:
-- raise ValueError()
-- if exif is None:
-- return None
-- exif = exif.split('\n')
-- if len(exif) < 4 or 'exif' != exif[1]:
-- # Not valid Exif data.
-- return None
-- size = int(exif[2])
-- try:
-- data = binascii.unhexlify(''.join(exif[3:]))
-- except TypeError:
-- # Not valid hexadecimal content.
-- return None
-- if size != len(data):
-- # Sizes should match.
-- return None
-- im = namedtuple('FakeImage', 'info')({ 'exif': data })
-- exif = _getexif(im)
-- orientation = exif.get(274, None)
-- if orientation is not None:
-- orientation = str(orientation)
-- return orientation
--
- def get_implied_rotation(pixbuf):
- """Return the implied rotation in degrees: 0, 90, 180, or 270.
-
-@@ -429,9 +419,6 @@ def get_implied_rotation(pixbuf):
- orientation = getattr(pixbuf, 'orientation', None)
- if orientation is None:
- orientation = pixbuf.get_option('orientation')
-- if orientation is None:
-- # Maybe it's a PNG? Try alternative method.
-- orientation = _get_png_implied_rotation(pixbuf)
- if orientation == '3':
- return 180
- elif orientation == '6':