Skip to content

Commit

Permalink
Merge pull request #1832 from radarhere/imagepalette
Browse files Browse the repository at this point in the history
Removed duplicate code in ImagePalette
  • Loading branch information
wiredfool committed Jun 29, 2016
2 parents a3166de + f9b3a5d commit 31521dc
Showing 1 changed file with 12 additions and 30 deletions.
42 changes: 12 additions & 30 deletions PIL/ImagePalette.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@

import array
from PIL import ImageColor
from PIL import GimpPaletteFile
from PIL import GimpGradientFile
from PIL import PaletteFile


class ImagePalette(object):
Expand Down Expand Up @@ -196,42 +199,21 @@ def load(filename):

fp = open(filename, "rb")

lut = None

if not lut:
for paletteHandler in [
GimpPaletteFile.GimpPaletteFile,
GimpGradientFile.GimpGradientFile,
PaletteFile.PaletteFile
]:
try:
from PIL import GimpPaletteFile
fp.seek(0)
p = GimpPaletteFile.GimpPaletteFile(fp)
lut = p.getpalette()
lut = paletteHandler(fp).getpalette()
if lut:
break
except (SyntaxError, ValueError):
# import traceback
# traceback.print_exc()
pass

if not lut:
try:
from PIL import GimpGradientFile
fp.seek(0)
p = GimpGradientFile.GimpGradientFile(fp)
lut = p.getpalette()
except (SyntaxError, ValueError):
# import traceback
# traceback.print_exc()
pass

if not lut:
try:
from PIL import PaletteFile
fp.seek(0)
p = PaletteFile.PaletteFile(fp)
lut = p.getpalette()
except (SyntaxError, ValueError):
# import traceback
# traceback.print_exc()
pass

if not lut:
else:
raise IOError("cannot load palette")

return lut # data, rawmode

0 comments on commit 31521dc

Please sign in to comment.