From 31a96b9c9b323488e70eff69fa3433347f649861 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Fri, 15 Oct 2021 13:10:22 +0300 Subject: [PATCH] Upgrade Python syntax with pyupgrade --py36-plus and format with Black --- Tests/test_file_gif.py | 4 ++-- Tests/test_file_jpeg.py | 12 ++++++------ Tests/test_file_webp.py | 4 +--- Tests/test_imagefont.py | 8 ++++---- Tests/test_imagemath.py | 2 +- src/PIL/GifImagePlugin.py | 2 +- src/PIL/Image.py | 12 ++++-------- src/PIL/ImageDraw.py | 14 ++++++-------- src/PIL/PdfParser.py | 4 ++-- src/PIL/TiffImagePlugin.py | 6 +++--- 10 files changed, 30 insertions(+), 38 deletions(-) diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index 985f8e52c..fae7e912c 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -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: diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 13d99c15d..f2002ecb8 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -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( diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index 420594b0c..e72b4993c 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -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") diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py index 3ed3a2f02..0d423aab7 100644 --- a/Tests/test_imagefont.py +++ b/Tests/test_imagefont.py @@ -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") diff --git a/Tests/test_imagemath.py b/Tests/test_imagemath.py index 239806796..e7afd1abf 100644 --- a/Tests/test_imagemath.py +++ b/Tests/test_imagemath.py @@ -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 diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index 128afc428..5b4668844 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -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 diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 0697fc01d..831970cfb 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -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"), diff --git a/src/PIL/ImageDraw.py b/src/PIL/ImageDraw.py index aea0cc680..eeae1782a 100644 --- a/src/PIL/ImageDraw.py +++ b/src/PIL/ImageDraw.py @@ -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) diff --git a/src/PIL/PdfParser.py b/src/PIL/PdfParser.py index b5279e0d7..b95abbe2f 100644 --- a/src/PIL/PdfParser.py +++ b/src/PIL/PdfParser.py @@ -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 diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 6b311bbf5..29de8a06b 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -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)