Skip to content

Commit 9c8c7a0

Browse files
committed
Do not force palette length to be 256
1 parent 18e2877 commit 9c8c7a0

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

Tests/test_file_gimppalette.py

+1
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ def test_get_palette() -> None:
3232

3333
# Assert
3434
assert mode == "RGB"
35+
assert len(palette) / 3 == 11

src/PIL/GimpPaletteFile.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,19 @@ class GimpPaletteFile:
2727
rawmode = "RGB"
2828

2929
def __init__(self, fp: IO[bytes]) -> None:
30-
palette = [o8(i) * 3 for i in range(256)]
31-
3230
if not fp.readline().startswith(b"GIMP Palette"):
3331
msg = "not a GIMP palette file"
3432
raise SyntaxError(msg)
3533

34+
palette: list[int] = []
3635
for i in range(256):
3736
s = fp.readline()
3837
if not s:
3938
break
4039

4140
# skip fields and comment lines
4241
if re.match(rb"\w+:|#", s):
42+
palette.append(o8(i) * 3)
4343
continue
4444
if len(s) > 100:
4545
msg = "bad palette file"
@@ -50,7 +50,7 @@ def __init__(self, fp: IO[bytes]) -> None:
5050
msg = "bad palette entry"
5151
raise ValueError(msg)
5252

53-
palette[i] = o8(int(v[0])) + o8(int(v[1])) + o8(int(v[2]))
53+
palette.append(o8(int(v[0])) + o8(int(v[1])) + o8(int(v[2])))
5454

5555
self.palette = b"".join(palette)
5656

0 commit comments

Comments
 (0)