mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-09-21 11:28:58 +03:00
37f22ebfcd
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.
54 lines
1.0 KiB
Python
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
|