diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2020-12-06 11:21:30 -0500 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2020-12-06 11:21:30 -0500 |
commit | 904f4a1f01bfa26fe4915375c92db123b9176053 (patch) | |
tree | d8fa1ff07200179951b5491b58662eecb73cd7b9 | |
parent | 5cf3865fd314ff630376de352dbf8067ceaaa10b (diff) | |
download | python-setuptools-git-bugfix/1390-description-no-newlines.tar.gz |
Quick fix for #1390. Now description cannot contain a newline.bugfix/1390-description-no-newlines
-rw-r--r-- | changelog.d/1390.change.rst | 1 | ||||
-rw-r--r-- | setuptools/dist.py | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/changelog.d/1390.change.rst b/changelog.d/1390.change.rst new file mode 100644 index 00000000..fcb57f54 --- /dev/null +++ b/changelog.d/1390.change.rst @@ -0,0 +1 @@ +Newlines in metadata description/Summary now trigger a ValueError. diff --git a/setuptools/dist.py b/setuptools/dist.py index 2c088ef8..c5e7d775 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): """Write the PKG-INFO format data to a file object. @@ -130,7 +137,7 @@ def write_pkg_file(self, file): 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'): |