From: Éric Araujo Date: Fri, 9 Sep 2011 23:51:40 +0000 (+0200) Subject: Fix determination of Metadata version (#8933). Patch by Filip Gruszczyński. X-Git-Tag: v3.3.0a1~1544^2~8^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=13e8c8e7216ff52b92d9ba51125b939c021e26d4;p=python Fix determination of Metadata version (#8933). Patch by Filip Gruszczyński. --- diff --git a/Lib/distutils/dist.py b/Lib/distutils/dist.py index 8ca5b6f4f1..69825f206f 100644 --- a/Lib/distutils/dist.py +++ b/Lib/distutils/dist.py @@ -1018,7 +1018,8 @@ class DistributionMetadata: """Write the PKG-INFO format data to a file object. """ version = '1.0' - if self.provides or self.requires or self.obsoletes: + if (self.provides or self.requires or self.obsoletes or + self.classifiers or self.download_url): version = '1.1' file.write('Metadata-Version: %s\n' % version) diff --git a/Lib/distutils/tests/test_dist.py b/Lib/distutils/tests/test_dist.py index 7050cbed26..8aaae88cae 100644 --- a/Lib/distutils/tests/test_dist.py +++ b/Lib/distutils/tests/test_dist.py @@ -244,6 +244,20 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard, "version": "1.0", "obsoletes": ["my.pkg (splat)"]}) + def test_classifier(self): + attrs = {'name': 'Boa', 'version': '3.0', + 'classifiers': ['Programming Language :: Python :: 3']} + dist = Distribution(attrs) + meta = self.format_metadata(dist) + self.assertIn('Metadata-Version: 1.1', meta) + + def test_download_url(self): + attrs = {'name': 'Boa', 'version': '3.0', + 'download_url': 'http://example.org/boa'} + dist = Distribution(attrs) + meta = self.format_metadata(dist) + self.assertIn('Metadata-Version: 1.1', meta) + def test_long_description(self): long_desc = textwrap.dedent("""\ example:: diff --git a/Misc/NEWS b/Misc/NEWS index 401e0225d5..12ac26eb24 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -25,6 +25,10 @@ Core and Builtins Library ------- +- Issue #8933: distutils' PKG-INFO files will now correctly report + Metadata-Version: 1.1 instead of 1.0 if a Classifier or Download-URL field is + present. + - Issue #9561: distutils now reads and writes egg-info files using UTF-8, instead of the locale encoding.