Pillow/PIL/PaletteFile.py
Brian Crowell 37f22ebfcd py3k: Use string methods instead of string module
First, we go for the obvious stuff. The string module methods are gone in
3.0, so we translate them to the appropriate methods on the string class.
2013-01-10 08:42:49 -06:00

54 lines
1.0 KiB
Python

#
# Python Imaging Library
# $Id$
#
# stuff to read simple, teragon-style palette files
#
# History:
# 97-08-23 fl Created
#
# Copyright (c) Secret Labs AB 1997.
# Copyright (c) Fredrik Lundh 1997.
#
# See the README file for information on usage and redistribution.
#
##
# File handler for Teragon-style palette files.
class PaletteFile:
rawmode = "RGB"
def __init__(self, fp):
self.palette = map(lambda i: (i, i, i), range(256))
while 1:
s = fp.readline()
if not s:
break
if s[0] == "#":
continue
if len(s) > 100:
raise SyntaxError, "bad palette file"
v = map(int, s.split())
try:
[i, r, g, b] = v
except ValueError:
[i, r] = v
g = b = r
if 0 <= i <= 255:
self.palette[i] = chr(r) + chr(g) + chr(b)
self.palette = "".join(self.palette)
def getpalette(self):
return self.palette, self.rawmode