|
6 | 6 | import os |
7 | 7 | import re |
8 | 8 | import sys |
9 | | -from collections import namedtuple |
10 | 9 | from pathlib import Path |
| 10 | +from typing import Any, NamedTuple |
11 | 11 |
|
12 | 12 | import pytest |
13 | 13 |
|
@@ -243,36 +243,40 @@ def test_additional_metadata(self, tmp_path: Path) -> None: |
243 | 243 | TiffImagePlugin.WRITE_LIBTIFF = False |
244 | 244 |
|
245 | 245 | def test_custom_metadata(self, tmp_path: Path) -> None: |
246 | | - tc = namedtuple("tc", "value,type,supported_by_default") |
| 246 | + class Tc(NamedTuple): |
| 247 | + value: Any |
| 248 | + type: int |
| 249 | + supported_by_default: bool |
| 250 | + |
247 | 251 | custom = { |
248 | 252 | 37000 + k: v |
249 | 253 | for k, v in enumerate( |
250 | 254 | [ |
251 | | - tc(4, TiffTags.SHORT, True), |
252 | | - tc(123456789, TiffTags.LONG, True), |
253 | | - tc(-4, TiffTags.SIGNED_BYTE, False), |
254 | | - tc(-4, TiffTags.SIGNED_SHORT, False), |
255 | | - tc(-123456789, TiffTags.SIGNED_LONG, False), |
256 | | - tc(TiffImagePlugin.IFDRational(4, 7), TiffTags.RATIONAL, True), |
257 | | - tc(4.25, TiffTags.FLOAT, True), |
258 | | - tc(4.25, TiffTags.DOUBLE, True), |
259 | | - tc("custom tag value", TiffTags.ASCII, True), |
260 | | - tc(b"custom tag value", TiffTags.BYTE, True), |
261 | | - tc((4, 5, 6), TiffTags.SHORT, True), |
262 | | - tc((123456789, 9, 34, 234, 219387, 92432323), TiffTags.LONG, True), |
263 | | - tc((-4, 9, 10), TiffTags.SIGNED_BYTE, False), |
264 | | - tc((-4, 5, 6), TiffTags.SIGNED_SHORT, False), |
265 | | - tc( |
| 255 | + Tc(4, TiffTags.SHORT, True), |
| 256 | + Tc(123456789, TiffTags.LONG, True), |
| 257 | + Tc(-4, TiffTags.SIGNED_BYTE, False), |
| 258 | + Tc(-4, TiffTags.SIGNED_SHORT, False), |
| 259 | + Tc(-123456789, TiffTags.SIGNED_LONG, False), |
| 260 | + Tc(TiffImagePlugin.IFDRational(4, 7), TiffTags.RATIONAL, True), |
| 261 | + Tc(4.25, TiffTags.FLOAT, True), |
| 262 | + Tc(4.25, TiffTags.DOUBLE, True), |
| 263 | + Tc("custom tag value", TiffTags.ASCII, True), |
| 264 | + Tc(b"custom tag value", TiffTags.BYTE, True), |
| 265 | + Tc((4, 5, 6), TiffTags.SHORT, True), |
| 266 | + Tc((123456789, 9, 34, 234, 219387, 92432323), TiffTags.LONG, True), |
| 267 | + Tc((-4, 9, 10), TiffTags.SIGNED_BYTE, False), |
| 268 | + Tc((-4, 5, 6), TiffTags.SIGNED_SHORT, False), |
| 269 | + Tc( |
266 | 270 | (-123456789, 9, 34, 234, 219387, -92432323), |
267 | 271 | TiffTags.SIGNED_LONG, |
268 | 272 | False, |
269 | 273 | ), |
270 | | - tc((4.25, 5.25), TiffTags.FLOAT, True), |
271 | | - tc((4.25, 5.25), TiffTags.DOUBLE, True), |
| 274 | + Tc((4.25, 5.25), TiffTags.FLOAT, True), |
| 275 | + Tc((4.25, 5.25), TiffTags.DOUBLE, True), |
272 | 276 | # array of TIFF_BYTE requires bytes instead of tuple for backwards |
273 | 277 | # compatibility |
274 | | - tc(bytes([4]), TiffTags.BYTE, True), |
275 | | - tc(bytes((4, 9, 10)), TiffTags.BYTE, True), |
| 278 | + Tc(bytes([4]), TiffTags.BYTE, True), |
| 279 | + Tc(bytes((4, 9, 10)), TiffTags.BYTE, True), |
276 | 280 | ] |
277 | 281 | ) |
278 | 282 | } |
|
0 commit comments