summaryrefslogtreecommitdiffstats
path: root/Lib/importlib/metadata.py
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2019-09-02 16:11:01 (GMT)
committerJason R. Coombs <jaraco@jaraco.com>2019-09-02 16:11:01 (GMT)
commitbf69e160c431dc40d6530d427cec71c6a97522f5 (patch)
tree0a07bc87ce76e7f38c79ec4f39ee79db082aa253 /Lib/importlib/metadata.py
parent353053d9ad08fea0e205e6c008b8a4350c0188e6 (diff)
downloadcpython-bf69e160c431dc40d6530d427cec71c6a97522f5.zip
cpython-bf69e160c431dc40d6530d427cec71c6a97522f5.tar.gz
cpython-bf69e160c431dc40d6530d427cec71c6a97522f5.tar.bz2
bpo-38010 Sync importlib.metadata with importlib_metadata 0.20. (GH-15646) (GH-15648)
Sync importlib.metadata with importlib_metadata 0.20. (cherry picked from commit 102e9b40ff6ee45086a5f0d34d9c60c581a1e5e5) Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
Diffstat (limited to 'Lib/importlib/metadata.py')
-rw-r--r--Lib/importlib/metadata.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/Lib/importlib/metadata.py b/Lib/importlib/metadata.py
index e80f4fa..3b46142 100644
--- a/Lib/importlib/metadata.py
+++ b/Lib/importlib/metadata.py
@@ -213,6 +213,15 @@ class Distribution:
@property
def files(self):
+ """Files in this distribution.
+
+ :return: Iterable of PackagePath for this distribution or None
+
+ Result is `None` if the metadata file that enumerates files
+ (i.e. RECORD for dist-info or SOURCES.txt for egg-info) is
+ missing.
+ Result may be empty if the metadata exists but is empty.
+ """
file_lines = self._read_files_distinfo() or self._read_files_egginfo()
def make_file(name, hash=None, size_str=None):
@@ -245,8 +254,7 @@ class Distribution:
return self._read_dist_info_reqs() or self._read_egg_info_reqs()
def _read_dist_info_reqs(self):
- spec = self.metadata['Requires-Dist']
- return spec and filter(None, spec.splitlines())
+ return self.metadata.get_all('Requires-Dist')
def _read_egg_info_reqs(self):
source = self.read_text('requires.txt')
@@ -318,7 +326,11 @@ class DistributionFinder(MetaPathFinder):
class PathDistribution(Distribution):
def __init__(self, path):
- """Construct a distribution from a path to the metadata directory."""
+ """Construct a distribution from a path to the metadata directory.
+
+ :param path: A pathlib.Path or similar object supporting
+ .joinpath(), __div__, .parent, and .read_text().
+ """
self._path = path
def read_text(self, filename):