summaryrefslogtreecommitdiff
path: root/setuptools
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2021-01-16 19:14:15 -0500
committerGitHub <noreply@github.com>2021-01-16 19:14:15 -0500
commitb5bb3e99d2a7a24b4096c2b0a3621a9ef59172e5 (patch)
tree944835be2f4221bf2f4596081ddfb1fc298d6766 /setuptools
parentb994bc637e5817798f356bfd373011ab1d894216 (diff)
parentd01d3ee286d4aab0ca0d78bd7a47b2556f81f499 (diff)
downloadpython-setuptools-git-b5bb3e99d2a7a24b4096c2b0a3621a9ef59172e5.tar.gz
Merge pull request #2470 from pypa/bugfix/1390-description-no-newlines
Description cannot contain a newline.
Diffstat (limited to 'setuptools')
-rw-r--r--setuptools/dist.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/setuptools/dist.py b/setuptools/dist.py
index 662fbe67..2d0aac33 100644
--- a/setuptools/dist.py
+++ b/setuptools/dist.py
@@ -118,6 +118,13 @@ def read_pkg_file(self, file):
self.obsoletes = None
+def single_line(val):
+ # quick and dirty validation for description pypa/setuptools#1390
+ if '\n' in val:
+ raise ValueError("newlines not allowed")
+ return val
+
+
# Based on Python 3.5 version
def write_pkg_file(self, file): # noqa: C901 # is too complex (14) # FIXME
"""Write the PKG-INFO format data to a file object.
@@ -130,7 +137,7 @@ def write_pkg_file(self, file): # noqa: C901 # is too complex (14) # FIXME
write_field('Metadata-Version', str(version))
write_field('Name', self.get_name())
write_field('Version', self.get_version())
- write_field('Summary', self.get_description())
+ write_field('Summary', single_line(self.get_description()))
write_field('Home-page', self.get_url())
if version < StrictVersion('1.2'):