mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 16:07:30 +03:00 
			
		
		
		
	Fix: PYI024 Use typing.NamedTuple instead of collections.namedtuple
This commit is contained in:
		
							parent
							
								
									5d37d028d3
								
							
						
					
					
						commit
						6ed952b510
					
				|  | @ -6,8 +6,8 @@ import itertools | ||||||
| import os | import os | ||||||
| import re | import re | ||||||
| import sys | import sys | ||||||
| from collections import namedtuple |  | ||||||
| from pathlib import Path | from pathlib import Path | ||||||
|  | from typing import Any, NamedTuple | ||||||
| 
 | 
 | ||||||
| import pytest | import pytest | ||||||
| 
 | 
 | ||||||
|  | @ -243,36 +243,40 @@ class TestFileLibTiff(LibTiffTestCase): | ||||||
|         TiffImagePlugin.WRITE_LIBTIFF = False |         TiffImagePlugin.WRITE_LIBTIFF = False | ||||||
| 
 | 
 | ||||||
|     def test_custom_metadata(self, tmp_path: Path) -> None: |     def test_custom_metadata(self, tmp_path: Path) -> None: | ||||||
|         tc = namedtuple("tc", "value,type,supported_by_default") |         class Tc(NamedTuple): | ||||||
|  |             value: Any | ||||||
|  |             type: int | ||||||
|  |             supported_by_default: bool | ||||||
|  | 
 | ||||||
|         custom = { |         custom = { | ||||||
|             37000 + k: v |             37000 + k: v | ||||||
|             for k, v in enumerate( |             for k, v in enumerate( | ||||||
|                 [ |                 [ | ||||||
|                     tc(4, TiffTags.SHORT, True), |                     Tc(4, TiffTags.SHORT, True), | ||||||
|                     tc(123456789, TiffTags.LONG, True), |                     Tc(123456789, TiffTags.LONG, True), | ||||||
|                     tc(-4, TiffTags.SIGNED_BYTE, False), |                     Tc(-4, TiffTags.SIGNED_BYTE, False), | ||||||
|                     tc(-4, TiffTags.SIGNED_SHORT, False), |                     Tc(-4, TiffTags.SIGNED_SHORT, False), | ||||||
|                     tc(-123456789, TiffTags.SIGNED_LONG, False), |                     Tc(-123456789, TiffTags.SIGNED_LONG, False), | ||||||
|                     tc(TiffImagePlugin.IFDRational(4, 7), TiffTags.RATIONAL, True), |                     Tc(TiffImagePlugin.IFDRational(4, 7), TiffTags.RATIONAL, True), | ||||||
|                     tc(4.25, TiffTags.FLOAT, True), |                     Tc(4.25, TiffTags.FLOAT, True), | ||||||
|                     tc(4.25, TiffTags.DOUBLE, True), |                     Tc(4.25, TiffTags.DOUBLE, True), | ||||||
|                     tc("custom tag value", TiffTags.ASCII, True), |                     Tc("custom tag value", TiffTags.ASCII, True), | ||||||
|                     tc(b"custom tag value", TiffTags.BYTE, True), |                     Tc(b"custom tag value", TiffTags.BYTE, True), | ||||||
|                     tc((4, 5, 6), TiffTags.SHORT, True), |                     Tc((4, 5, 6), TiffTags.SHORT, True), | ||||||
|                     tc((123456789, 9, 34, 234, 219387, 92432323), TiffTags.LONG, True), |                     Tc((123456789, 9, 34, 234, 219387, 92432323), TiffTags.LONG, True), | ||||||
|                     tc((-4, 9, 10), TiffTags.SIGNED_BYTE, False), |                     Tc((-4, 9, 10), TiffTags.SIGNED_BYTE, False), | ||||||
|                     tc((-4, 5, 6), TiffTags.SIGNED_SHORT, False), |                     Tc((-4, 5, 6), TiffTags.SIGNED_SHORT, False), | ||||||
|                     tc( |                     Tc( | ||||||
|                         (-123456789, 9, 34, 234, 219387, -92432323), |                         (-123456789, 9, 34, 234, 219387, -92432323), | ||||||
|                         TiffTags.SIGNED_LONG, |                         TiffTags.SIGNED_LONG, | ||||||
|                         False, |                         False, | ||||||
|                     ), |                     ), | ||||||
|                     tc((4.25, 5.25), TiffTags.FLOAT, True), |                     Tc((4.25, 5.25), TiffTags.FLOAT, True), | ||||||
|                     tc((4.25, 5.25), TiffTags.DOUBLE, True), |                     Tc((4.25, 5.25), TiffTags.DOUBLE, True), | ||||||
|                     # array of TIFF_BYTE requires bytes instead of tuple for backwards |                     # array of TIFF_BYTE requires bytes instead of tuple for backwards | ||||||
|                     # compatibility |                     # compatibility | ||||||
|                     tc(bytes([4]), TiffTags.BYTE, True), |                     Tc(bytes([4]), TiffTags.BYTE, True), | ||||||
|                     tc(bytes((4, 9, 10)), TiffTags.BYTE, True), |                     Tc(bytes((4, 9, 10)), TiffTags.BYTE, True), | ||||||
|                 ] |                 ] | ||||||
|             ) |             ) | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | @ -8,7 +8,7 @@ import os | ||||||
| import re | import re | ||||||
| import time | import time | ||||||
| import zlib | import zlib | ||||||
| from typing import TYPE_CHECKING, Any, List, Union | from typing import TYPE_CHECKING, Any, List, NamedTuple, Union | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # see 7.9.2.2 Text String Type on page 86 and D.3 PDFDocEncoding Character Set | # see 7.9.2.2 Text String Type on page 86 and D.3 PDFDocEncoding Character Set | ||||||
|  | @ -81,9 +81,12 @@ def check_format_condition(condition, error_message): | ||||||
|         raise PdfFormatError(error_message) |         raise PdfFormatError(error_message) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class IndirectReference( | class IndirectReferenceTuple(NamedTuple): | ||||||
|     collections.namedtuple("IndirectReferenceTuple", ["object_id", "generation"]) |     object_id: int | ||||||
| ): |     generation: int | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class IndirectReference(IndirectReferenceTuple): | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return f"{self.object_id} {self.generation} R" |         return f"{self.object_id} {self.generation} R" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -18,10 +18,18 @@ | ||||||
| ## | ## | ||||||
| from __future__ import annotations | from __future__ import annotations | ||||||
| 
 | 
 | ||||||
| from collections import namedtuple | from typing import NamedTuple | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class TagInfo(namedtuple("_TagInfo", "value name type length enum")): | class _TagInfo(NamedTuple): | ||||||
|  |     value: int | ||||||
|  |     name: str | ||||||
|  |     type: int | ||||||
|  |     length: int | ||||||
|  |     enum: dict[int, str] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class TagInfo(_TagInfo): | ||||||
|     __slots__: list[str] = [] |     __slots__: list[str] = [] | ||||||
| 
 | 
 | ||||||
|     def __new__(cls, value=None, name="unknown", type=None, length=None, enum=None): |     def __new__(cls, value=None, name="unknown", type=None, length=None, enum=None): | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user