]> granicus.if.org Git - python/commitdiff
Merged revisions 76684 via svnmerge from
authorTarek Ziadé <ziade.tarek@gmail.com>
Sun, 6 Dec 2009 09:28:17 +0000 (09:28 +0000)
committerTarek Ziadé <ziade.tarek@gmail.com>
Sun, 6 Dec 2009 09:28:17 +0000 (09:28 +0000)
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
........

Lib/distutils/tests/test_dist.py
Lib/distutils/util.py
Misc/NEWS

index b1b184ea185dbfe8aac05247843215d67149b9bb..0e7d532df01bc27a30316e3f9792d52946885a0f 100644 (file)
@@ -5,6 +5,7 @@ import io
 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 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
                   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))
index a50621e3f474875feab3becfcc13e951fe210ee6..cca7b49f5e449ec8a4a86bb3227ea04d2b6e5381 100644 (file)
@@ -557,8 +557,8 @@ def rfc822_escape(header):
     """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+)*)')
index 06075e99a814e5ebd41707222c4d06564715b635..0f524a52bac8e285f3c425cfbc3a2c3e3545c21a 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -154,6 +154,9 @@ C-API
 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.