changeset 57587:9e751601f538

Merged revisions 76684 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r76684 | tarek.ziade | 2009-12-06 10:22:40 +0100 (Sun, 06 Dec 2009) | 1 line Fixed #1923: make sure we don't strip meaningful whitespace in PKG-INFO Description field ........
author Tarek Ziadé <ziade.tarek@gmail.com>
date Sun, 06 Dec 2009 09:28:17 +0000
parents 1c92fbb3baf2
children a6b1e6959382
files Lib/distutils/tests/test_dist.py Lib/distutils/util.py Misc/NEWS
diffstat 3 files changed, 21 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/Lib/distutils/tests/test_dist.py	Sat Dec 05 20:28:34 2009 +0000
+++ b/Lib/distutils/tests/test_dist.py	Sun Dec 06 09:28:17 2009 +0000
@@ -5,6 +5,7 @@
 import sys
 import unittest
 import warnings
+import textwrap
 
 from distutils.dist import Distribution, fix_help_options
 from distutils.cmd import Command
@@ -353,6 +354,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))
--- a/Lib/distutils/util.py	Sat Dec 05 20:28:34 2009 +0000
+++ b/Lib/distutils/util.py	Sun Dec 06 09:28:17 2009 +0000
@@ -557,8 +557,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(b'(\d+\.\d+(\.\d+)*)')
--- a/Misc/NEWS	Sat Dec 05 20:28:34 2009 +0000
+++ b/Misc/NEWS	Sun Dec 06 09:28:17 2009 +0000
@@ -154,6 +154,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.