aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--setuptools/command/upload.py8
-rw-r--r--setuptools/tests/test_upload.py9
2 files changed, 14 insertions, 3 deletions
diff --git a/setuptools/command/upload.py b/setuptools/command/upload.py
index 99d86011..f57fe796 100644
--- a/setuptools/command/upload.py
+++ b/setuptools/command/upload.py
@@ -172,9 +172,11 @@ class upload(orig.upload):
self.announce('Server response (%s): %s' % (status, reason),
log.INFO)
if self.show_response:
- text = self._read_pypi_response(result)
- msg = '\n'.join(('-' * 75, text, '-' * 75))
- self.announce(msg, log.INFO)
+ text = getattr(self, '_read_pypi_response',
+ lambda x: None)(result)
+ if text is not None:
+ msg = '\n'.join(('-' * 75, text, '-' * 75))
+ self.announce(msg, log.INFO)
else:
msg = 'Upload failed (%s): %s' % (status, reason)
self.announce(msg, log.ERROR)
diff --git a/setuptools/tests/test_upload.py b/setuptools/tests/test_upload.py
index 7bf8e312..319ed7a2 100644
--- a/setuptools/tests/test_upload.py
+++ b/setuptools/tests/test_upload.py
@@ -223,3 +223,12 @@ class TestUploadTest:
assert entries['comment'].startswith(u'built for')
assert len(entries['comment']) > len(u'built for')
+ def test_show_response_no_error(self, patched_upload):
+ # This test is just that show_response doesn't throw an error
+ # It is not really important what the printed response looks like
+ # in a deprecated command, but we don't want to introduce new
+ # errors when importing this function from distutils
+
+ patched_upload.cmd.show_response = True
+ patched_upload.cmd.ensure_finalized()
+ patched_upload.cmd.run()