summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorÉric Araujo <merwok@netwok.org>2011-09-09 23:51:40 (GMT)
committerÉric Araujo <merwok@netwok.org>2011-09-09 23:51:40 (GMT)
commit13e8c8e7216ff52b92d9ba51125b939c021e26d4 (patch)
tree875cd843c45bbdde052441ec8b0a021c19852168
parentfce67fcd84f7ab66dde11646eead6378698c04b0 (diff)
downloadcpython-13e8c8e7216ff52b92d9ba51125b939c021e26d4.zip
cpython-13e8c8e7216ff52b92d9ba51125b939c021e26d4.tar.gz
cpython-13e8c8e7216ff52b92d9ba51125b939c021e26d4.tar.bz2
Fix determination of Metadata version (#8933). Patch by Filip Gruszczyński.
-rw-r--r--Lib/distutils/dist.py3
-rw-r--r--Lib/distutils/tests/test_dist.py14
-rw-r--r--Misc/NEWS4
3 files changed, 20 insertions, 1 deletions
diff --git a/Lib/distutils/dist.py b/Lib/distutils/dist.py
index 8ca5b6f..69825f2 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 7050cbe..8aaae88 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 401e022..12ac26e 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.