mirror of
https://github.com/python-pillow/Pillow.git
synced 2026-01-10 18:51:26 +03:00
Added type hints to map_metadata_keys() (#9337)
This commit is contained in:
parent
525842215f
commit
b8351fde41
|
|
@ -6,10 +6,15 @@ import pytest
|
|||
|
||||
from PIL import __version__
|
||||
|
||||
TYPE_CHECKING = False
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from importlib.metadata import PackageMetadata
|
||||
|
||||
pyroma = pytest.importorskip("pyroma", reason="Pyroma not installed")
|
||||
|
||||
|
||||
def map_metadata_keys(md):
|
||||
def map_metadata_keys(md: PackageMetadata) -> dict[str, str | list[str] | None]:
|
||||
# Convert installed wheel metadata into canonical Core Metadata 2.4 format.
|
||||
# This was a utility method in pyroma 4.3.3; it was removed in 5.0.
|
||||
# This implementation is constructed from the relevant logic from
|
||||
|
|
@ -17,16 +22,16 @@ def map_metadata_keys(md):
|
|||
# upstream to Pyroma as https://github.com/regebro/pyroma/pull/116,
|
||||
# so it may be possible to simplify this test in future.
|
||||
data = {}
|
||||
for key in set(md.keys()):
|
||||
for key in set(md):
|
||||
value = md.get_all(key)
|
||||
key = pyroma.projectdata.normalize(key)
|
||||
|
||||
if len(value) == 1:
|
||||
value = value[0]
|
||||
if value.strip() == "UNKNOWN":
|
||||
continue
|
||||
|
||||
data[key] = value
|
||||
if value is not None and len(value) == 1:
|
||||
first_value = value[0]
|
||||
if first_value.strip() != "UNKNOWN":
|
||||
data[key] = first_value
|
||||
else:
|
||||
data[key] = value
|
||||
return data
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -217,6 +217,7 @@ testpaths = [
|
|||
python_version = "3.10"
|
||||
pretty = true
|
||||
disallow_any_generics = true
|
||||
disallow_untyped_defs = true
|
||||
enable_error_code = "ignore-without-code"
|
||||
extra_checks = true
|
||||
follow_imports = "silent"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user