summaryrefslogtreecommitdiffstats
path: root/Lib/distutils
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 /Lib/distutils
parentfce67fcd84f7ab66dde11646eead6378698c04b0 (diff)
downloadcpython-13e8c8e7216ff52b92d9ba51125b939c021e26d4.zip
cpython-13e8c8e7216ff52b92d9ba51125b939c021e26d4.tar.gz
cpython-13e8c8e7216ff52b92d9ba51125b939c021e26d4.tar.bz2
Fix determination of Metadata version (#8933). Patch by Filip Gruszczyński.
Diffstat (limited to 'Lib/distutils')
-rw-r--r--Lib/distutils/dist.py3
-rw-r--r--Lib/distutils/tests/test_dist.py14
2 files changed, 16 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::