[Python-checkins] r76684 - in python/trunk: Lib/distutils/tests/test_dist.py Lib/distutils/util.py Misc/NEWS

tarek.ziade python-checkins at python.org
Sun Dec 6 10:22:41 CET 2009


Author: tarek.ziade
Date: Sun Dec  6 10:22:40 2009
New Revision: 76684

Log:
Fixed #1923: make sure we don't strip meaningful whitespace in PKG-INFO Description field

Modified:
   python/trunk/Lib/distutils/tests/test_dist.py
   python/trunk/Lib/distutils/util.py
   python/trunk/Misc/NEWS

Modified: python/trunk/Lib/distutils/tests/test_dist.py
==============================================================================
--- python/trunk/Lib/distutils/tests/test_dist.py	(original)
+++ python/trunk/Lib/distutils/tests/test_dist.py	Sun Dec  6 10:22:40 2009
@@ -6,6 +6,7 @@
 import sys
 import unittest
 import warnings
+import textwrap
 
 from distutils.dist import Distribution, fix_help_options
 from distutils.cmd import Command
@@ -381,6 +382,21 @@
                   if line.strip() != '']
         self.assertTrue(len(output) > 0)
 
+    def test_long_description(self):
+        long_desc = textwrap.dedent("""\
+        example::
+              We start here
+            and continue here
+          and end here.""")
+        attrs = {"name": "package",
+                 "version": "1.0",
+                 "long_description": long_desc}
+
+        dist = distutils.dist.Distribution(attrs)
+        meta = self.format_metadata(dist)
+        meta = meta.replace('\n' + 8 * ' ', '\n')
+        self.assertTrue(long_desc in meta)
+
 def test_suite():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(DistributionTestCase))

Modified: python/trunk/Lib/distutils/util.py
==============================================================================
--- python/trunk/Lib/distutils/util.py	(original)
+++ python/trunk/Lib/distutils/util.py	Sun Dec  6 10:22:40 2009
@@ -558,8 +558,8 @@
     """Return a version of the string escaped for inclusion in an
     RFC-822 header, by ensuring there are 8 spaces space after each newline.
     """
-    lines = [x.strip() for x in header.split('\n')]
-    sep = '\n' + 8*' '
+    lines = header.split('\n')
+    sep = '\n' + 8 * ' '
     return sep.join(lines)
 
 _RE_VERSION = re.compile('(\d+\.\d+(\.\d+)*)')

Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Sun Dec  6 10:22:40 2009
@@ -507,6 +507,9 @@
 Library
 -------
 
+- Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is 
+  generated in Distutils. Patch by Stephen Emslie.
+
 - Issue #4120: Drop reference to CRT from manifest when building extensions with
   msvc9compiler.
 


More information about the Python-checkins mailing list