From: Éric Araujo Date: Fri, 10 Jun 2011 22:21:18 +0000 (+0200) Subject: setup.cfg: Document that description-file can contain more than one file X-Git-Tag: v3.3.0a1~2129^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8474f2901b78cc9afe9487ed9236430f43be18b7;p=thirdparty%2FPython%2Fcpython.git setup.cfg: Document that description-file can contain more than one file --- diff --git a/Doc/packaging/setupcfg.rst b/Doc/packaging/setupcfg.rst index aa8216fdf1e2..463522ba422f 100644 --- a/Doc/packaging/setupcfg.rst +++ b/Doc/packaging/setupcfg.rst @@ -285,6 +285,7 @@ One extra field not present in PEP 345 is supported: description-file Path to a text file that will be used to fill the ``description`` field. + Multiple values are accepted; they must be separated by whitespace. ``description-file`` and ``description`` are mutually exclusive. *optional* diff --git a/Lib/packaging/config.py b/Lib/packaging/config.py index be75da98a3e2..3427d9ac3548 100644 --- a/Lib/packaging/config.py +++ b/Lib/packaging/config.py @@ -163,21 +163,18 @@ class Config: "mutually exclusive") raise PackagingOptionError(msg) - if isinstance(value, list): - filenames = value - else: - filenames = value.split() + filenames = value.split() - # concatenate each files - value = '' + # concatenate all files + value = [] for filename in filenames: # will raise if file not found with open(filename) as description_file: - value += description_file.read().strip() + '\n' + value.append(description_file.read().strip()) # add filename as a required file if filename not in metadata.requires_files: metadata.requires_files.append(filename) - value = value.strip() + value = '\n'.join(value).strip() key = 'description' if metadata.is_metadata_field(key): diff --git a/Lib/packaging/tests/test_config.py b/Lib/packaging/tests/test_config.py index 9198ead13128..1669862fdfaa 100644 --- a/Lib/packaging/tests/test_config.py +++ b/Lib/packaging/tests/test_config.py @@ -327,7 +327,7 @@ class ConfigTestCase(support.TempdirManager, self.assertIn('could not import setup_hook', logs[0]) def test_metadata_requires_description_files_missing(self): - self.write_setup({'description-file': 'README\n README2'}) + self.write_setup({'description-file': 'README README2'}) self.write_file('README', 'yeah') self.write_file('README2', 'yeah') os.mkdir('src')