Use array for better performance

This commit is contained in:
Andrew Murray 2022-11-05 19:58:03 +11:00
parent 6893d1d95a
commit cefeab85da
2 changed files with 8 additions and 8 deletions

View File

@ -40,7 +40,7 @@ def test_get_palette():
palette, mode = palette_file.getpalette()
# Assert
expected_palette = b""
expected_palette = []
for color in (
(0, 0, 0),
(65, 38, 30),
@ -51,6 +51,6 @@ def test_get_palette():
(151, 144, 142),
(221, 207, 199),
):
expected_palette += bytes(color)
assert palette == expected_palette
expected_palette += color
assert palette == bytes(expected_palette)
assert mode == "RGB"

View File

@ -17,8 +17,6 @@
import re
import warnings
from ._binary import o8
class GimpPaletteFile:
"""File handler for GIMP's palette format."""
@ -37,7 +35,7 @@ class GimpPaletteFile:
read = 0
self.palette = b""
self.palette = []
while len(self.palette) < 3 * self.max_colors:
s = fp.readline(self._max_file_size)
@ -61,8 +59,10 @@ class GimpPaletteFile:
v = s.split(maxsplit=3)
if len(v) < 3:
raise ValueError("bad palette entry")
for i in range(3):
self.palette += o8(int(v[i]))
self.palette += (int(v[0]), int(v[1]), int(v[2]))
self.palette = bytes(self.palette)
def getpalette(self):