]> granicus.if.org Git - python/commitdiff
Fix determination of Metadata version (#8933). Patch by Filip Gruszczyński.
authorÉric Araujo <merwok@netwok.org>
Fri, 9 Sep 2011 23:51:40 +0000 (01:51 +0200)
committerÉric Araujo <merwok@netwok.org>
Fri, 9 Sep 2011 23:51:40 +0000 (01:51 +0200)
Lib/distutils/dist.py
Lib/distutils/tests/test_dist.py
Misc/NEWS

index 8ca5b6f4f1238884a63e41a324b26a3aba2707d7..69825f206f2391d8bc6c4d726e634b5ca95808c7 100644 (file)
@@ -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)
index 7050cbed2606d3b67e9a2994ce7b9c1af451d45c..8aaae88cae544cc791339efce9c990aa6ebeaf00 100644 (file)
@@ -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::
index 401e0225d5f1fe7447235932f0df9fc51e0989f1..12ac26eb24589c6c015d336d2b64f7d836a48254 100644 (file)
--- 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.