File tree Expand file tree Collapse file tree 2 files changed +18
-1
lines changed
Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change 3434 NullFinder ,
3535 install ,
3636 localize_dist ,
37+ localize_metadata ,
3738)
3839from ._functools import apply , method_cache , pass_none
3940from ._itertools import always_iterable , bucket , unique_everseen
@@ -477,6 +478,7 @@ def _discover_resolvers():
477478 return filter (None , declared )
478479
479480 @property
481+ @apply (localize_metadata )
480482 def metadata (self ) -> _meta .PackageMetadata :
481483 """Return the parsed metadata for this Distribution.
482484
Original file line number Diff line number Diff line change 11from __future__ import annotations
22
3+ import email .message
34import importlib .metadata
45import platform
56import sys
67import warnings
78from typing import cast
89
9- import importlib_metadata
10+ import importlib_metadata . _adapters
1011
1112
1213__all__ = ['install' , 'NullFinder' ]
@@ -76,3 +77,17 @@ def localize_dist(
7677 return importlib_metadata .PathDistribution (dist ._path )
7778 warnings .warn (f"Unrecognized distribution subclass { dist .__class__ } " )
7879 return cast (importlib_metadata .Distribution , dist )
80+
81+
82+ if sys .version_info >= (3 , 10 ):
83+ StdlibMessage = importlib .metadata ._adapters .Message
84+ else :
85+ StdlibMessage = email .message .Message
86+
87+
88+ def localize_metadata (
89+ input : importlib_metadata ._adapters .Message | StdlibMessage ,
90+ ) -> importlib_metadata .Message :
91+ if isinstance (input , importlib_metadata ._adapters .Message ):
92+ return input
93+ return importlib_metadata ._adapters .Message (input )
You can’t perform that action at this time.
0 commit comments