mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-01-11 17:56:18 +03:00
Upgrade Python syntax with pyupgrade --py36-plus and format with Black
This commit is contained in:
parent
716a0baf74
commit
31a96b9c9b
|
@ -818,7 +818,7 @@ def test_palette_save_P(tmp_path):
|
|||
# Forcing a non-straight grayscale palette.
|
||||
|
||||
im = hopper("P")
|
||||
palette = bytes([255 - i // 3 for i in range(768)])
|
||||
palette = bytes(255 - i // 3 for i in range(768))
|
||||
|
||||
out = str(tmp_path / "temp.gif")
|
||||
im.save(out, palette=palette)
|
||||
|
@ -885,7 +885,7 @@ def test_getdata():
|
|||
im.putpalette(ImagePalette.ImagePalette("RGB"))
|
||||
im.info = {"background": 0}
|
||||
|
||||
passed_palette = bytes([255 - i // 3 for i in range(768)])
|
||||
passed_palette = bytes(255 - i // 3 for i in range(768))
|
||||
|
||||
GifImagePlugin._FORCE_OPTIMIZE = True
|
||||
try:
|
||||
|
|
|
@ -85,26 +85,26 @@ class TestFileJpeg:
|
|||
f = "Tests/images/pil_sample_cmyk.jpg"
|
||||
with Image.open(f) as im:
|
||||
# the source image has red pixels in the upper left corner.
|
||||
c, m, y, k = [x / 255.0 for x in im.getpixel((0, 0))]
|
||||
c, m, y, k = (x / 255.0 for x in im.getpixel((0, 0)))
|
||||
assert c == 0.0
|
||||
assert m > 0.8
|
||||
assert y > 0.8
|
||||
assert k == 0.0
|
||||
# the opposite corner is black
|
||||
c, m, y, k = [
|
||||
c, m, y, k = (
|
||||
x / 255.0 for x in im.getpixel((im.size[0] - 1, im.size[1] - 1))
|
||||
]
|
||||
)
|
||||
assert k > 0.9
|
||||
# roundtrip, and check again
|
||||
im = self.roundtrip(im)
|
||||
c, m, y, k = [x / 255.0 for x in im.getpixel((0, 0))]
|
||||
c, m, y, k = (x / 255.0 for x in im.getpixel((0, 0)))
|
||||
assert c == 0.0
|
||||
assert m > 0.8
|
||||
assert y > 0.8
|
||||
assert k == 0.0
|
||||
c, m, y, k = [
|
||||
c, m, y, k = (
|
||||
x / 255.0 for x in im.getpixel((im.size[0] - 1, im.size[1] - 1))
|
||||
]
|
||||
)
|
||||
assert k > 0.9
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
|
|
|
@ -188,9 +188,7 @@ class TestFileWebp:
|
|||
|
||||
with Image.open(out_gif) as reread:
|
||||
reread_value = reread.convert("RGB").getpixel((1, 1))
|
||||
difference = sum(
|
||||
[abs(original_value[i] - reread_value[i]) for i in range(0, 3)]
|
||||
)
|
||||
difference = sum(abs(original_value[i] - reread_value[i]) for i in range(0, 3))
|
||||
assert difference < 5
|
||||
|
||||
@skip_unless_feature("webp")
|
||||
|
|
|
@ -900,7 +900,7 @@ class TestImageFont:
|
|||
d.text((10, 10), "\U0001f469", font=font, embedded_color=True)
|
||||
|
||||
assert_image_similar_tofile(im, "Tests/images/cbdt_notocoloremoji.png", 6.2)
|
||||
except IOError as e: # pragma: no cover
|
||||
except OSError as e: # pragma: no cover
|
||||
assert str(e) in ("unimplemented feature", "unknown file format")
|
||||
pytest.skip("freetype compiled without libpng or CBDT support")
|
||||
|
||||
|
@ -920,7 +920,7 @@ class TestImageFont:
|
|||
assert_image_similar_tofile(
|
||||
im, "Tests/images/cbdt_notocoloremoji_mask.png", 6.2
|
||||
)
|
||||
except IOError as e: # pragma: no cover
|
||||
except OSError as e: # pragma: no cover
|
||||
assert str(e) in ("unimplemented feature", "unknown file format")
|
||||
pytest.skip("freetype compiled without libpng or CBDT support")
|
||||
|
||||
|
@ -938,7 +938,7 @@ class TestImageFont:
|
|||
d.text((50, 50), "\uE901", font=font, embedded_color=True)
|
||||
|
||||
assert_image_similar_tofile(im, "Tests/images/chromacheck-sbix.png", 1)
|
||||
except IOError as e: # pragma: no cover
|
||||
except OSError as e: # pragma: no cover
|
||||
assert str(e) in ("unimplemented feature", "unknown file format")
|
||||
pytest.skip("freetype compiled without libpng or SBIX support")
|
||||
|
||||
|
@ -956,7 +956,7 @@ class TestImageFont:
|
|||
d.text((50, 50), "\uE901", (100, 0, 0), font=font)
|
||||
|
||||
assert_image_similar_tofile(im, "Tests/images/chromacheck-sbix_mask.png", 1)
|
||||
except IOError as e: # pragma: no cover
|
||||
except OSError as e: # pragma: no cover
|
||||
assert str(e) in ("unimplemented feature", "unknown file format")
|
||||
pytest.skip("freetype compiled without libpng or SBIX support")
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ from PIL import Image, ImageMath
|
|||
|
||||
def pixel(im):
|
||||
if hasattr(im, "im"):
|
||||
return "{} {}".format(im.mode, repr(im.getpixel((0, 0))))
|
||||
return f"{im.mode} {repr(im.getpixel((0, 0)))}"
|
||||
else:
|
||||
if isinstance(im, int):
|
||||
return int(im) # hack to deal with booleans
|
||||
|
|
|
@ -324,7 +324,7 @@ class GifImageFile(ImageFile.ImageFile):
|
|||
if not self.im and "transparency" in self.info:
|
||||
self.im = Image.core.fill(self.mode, self.size, self.info["transparency"])
|
||||
|
||||
super(GifImageFile, self).load_prepare()
|
||||
super().load_prepare()
|
||||
|
||||
def tell(self):
|
||||
return self.__frame
|
||||
|
|
|
@ -918,12 +918,8 @@ class Image:
|
|||
transparency = convert_transparency(matrix, transparency)
|
||||
elif len(mode) == 3:
|
||||
transparency = tuple(
|
||||
[
|
||||
convert_transparency(
|
||||
matrix[i * 4 : i * 4 + 4], transparency
|
||||
)
|
||||
for i in range(0, len(transparency))
|
||||
]
|
||||
convert_transparency(matrix[i * 4 : i * 4 + 4], transparency)
|
||||
for i in range(0, len(transparency))
|
||||
)
|
||||
new.info["transparency"] = transparency
|
||||
return new
|
||||
|
@ -1926,7 +1922,7 @@ class Image:
|
|||
message = f"Unknown resampling filter ({resample})."
|
||||
|
||||
filters = [
|
||||
"{} ({})".format(filter[1], filter[0])
|
||||
f"{filter[1]} ({filter[0]})"
|
||||
for filter in (
|
||||
(NEAREST, "Image.NEAREST"),
|
||||
(LANCZOS, "Image.LANCZOS"),
|
||||
|
@ -2521,7 +2517,7 @@ class Image:
|
|||
message = f"Unknown resampling filter ({resample})."
|
||||
|
||||
filters = [
|
||||
"{} ({})".format(filter[1], filter[0])
|
||||
f"{filter[1]} ({filter[0]})"
|
||||
for filter in (
|
||||
(NEAREST, "Image.NEAREST"),
|
||||
(BILINEAR, "Image.BILINEAR"),
|
||||
|
|
|
@ -174,13 +174,11 @@ class ImageDraw:
|
|||
angle -= 90
|
||||
distance = width / 2 - 1
|
||||
return tuple(
|
||||
[
|
||||
p + (math.floor(p_d) if p_d > 0 else math.ceil(p_d))
|
||||
for p, p_d in (
|
||||
(x, distance * math.cos(math.radians(angle))),
|
||||
(y, distance * math.sin(math.radians(angle))),
|
||||
)
|
||||
]
|
||||
p + (math.floor(p_d) if p_d > 0 else math.ceil(p_d))
|
||||
for p, p_d in (
|
||||
(x, distance * math.cos(math.radians(angle))),
|
||||
(y, distance * math.sin(math.radians(angle))),
|
||||
)
|
||||
)
|
||||
|
||||
flipped = (
|
||||
|
@ -979,6 +977,6 @@ def _color_diff(color1, color2):
|
|||
Uses 1-norm distance to calculate difference between two values.
|
||||
"""
|
||||
if isinstance(color2, tuple):
|
||||
return sum([abs(color1[i] - color2[i]) for i in range(0, len(color2))])
|
||||
return sum(abs(color1[i] - color2[i]) for i in range(0, len(color2)))
|
||||
else:
|
||||
return abs(color1 - color2)
|
||||
|
|
|
@ -425,7 +425,7 @@ class PdfParser:
|
|||
self.f.write(b"%PDF-1.4\n")
|
||||
|
||||
def write_comment(self, s):
|
||||
self.f.write(f"% {s}\n".encode("utf-8"))
|
||||
self.f.write(f"% {s}\n".encode())
|
||||
|
||||
def write_catalog(self):
|
||||
self.del_root()
|
||||
|
@ -862,7 +862,7 @@ class PdfParser:
|
|||
if m:
|
||||
# filter out whitespace
|
||||
hex_string = bytearray(
|
||||
[b for b in m.group(1) if b in b"0123456789abcdefABCDEF"]
|
||||
b for b in m.group(1) if b in b"0123456789abcdefABCDEF"
|
||||
)
|
||||
if len(hex_string) % 2 == 1:
|
||||
# append a 0 if the length is not even - yes, at the end
|
||||
|
|
|
@ -674,7 +674,7 @@ class ImageFileDirectory_v2(MutableMapping):
|
|||
_load_dispatch[idx] = ( # noqa: F821
|
||||
size,
|
||||
lambda self, data, legacy_api=True: (
|
||||
self._unpack("{}{}".format(len(data) // size, fmt), data)
|
||||
self._unpack(f"{len(data) // size}{fmt}", data)
|
||||
),
|
||||
)
|
||||
_write_dispatch[idx] = lambda self, *values: ( # noqa: F821
|
||||
|
@ -718,7 +718,7 @@ class ImageFileDirectory_v2(MutableMapping):
|
|||
|
||||
@_register_loader(5, 8)
|
||||
def load_rational(self, data, legacy_api=True):
|
||||
vals = self._unpack("{}L".format(len(data) // 4), data)
|
||||
vals = self._unpack(f"{len(data) // 4}L", data)
|
||||
|
||||
def combine(a, b):
|
||||
return (a, b) if legacy_api else IFDRational(a, b)
|
||||
|
@ -741,7 +741,7 @@ class ImageFileDirectory_v2(MutableMapping):
|
|||
|
||||
@_register_loader(10, 8)
|
||||
def load_signed_rational(self, data, legacy_api=True):
|
||||
vals = self._unpack("{}l".format(len(data) // 4), data)
|
||||
vals = self._unpack(f"{len(data) // 4}l", data)
|
||||
|
||||
def combine(a, b):
|
||||
return (a, b) if legacy_api else IFDRational(a, b)
|
||||
|
|
Loading…
Reference in New Issue
Block a user