mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 16:07:30 +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