[Python-checkins] distutils2: Fix incorrect use of Command.announce (#9199).

tarek.ziade python-checkins at python.org
Sun Sep 19 10:20:23 CEST 2010


tarek.ziade pushed ea174f2c7d8e to distutils2:

http://hg.python.org/distutils2/rev/ea174f2c7d8e
changeset:   668:ea174f2c7d8e
user:        ?ric Araujo <merwok at netwok.org>
date:        Wed Sep 08 01:52:06 2010 +0200
summary:     Fix incorrect use of Command.announce (#9199).
files:       src/distutils2/command/upload.py, src/distutils2/command/upload_docs.py, src/distutils2/tests/test_upload_docs.py

diff --git a/src/distutils2/command/upload.py b/src/distutils2/command/upload.py
--- a/src/distutils2/command/upload.py
+++ b/src/distutils2/command/upload.py
@@ -7,7 +7,10 @@
 from urllib2 import urlopen, Request, HTTPError
 from base64 import standard_b64encode
 import urlparse
-import StringIO as StringIO
+try:
+    from cStringIO import StringIO
+except ImportError:
+    from StringIO import StringIO
 try:
     from hashlib import md5
 except ImportError:
@@ -135,7 +138,7 @@
         boundary = '--------------GHSKFJDLGDS7543FJKLFHRE75642756743254'
         sep_boundary = '\n--' + boundary
         end_boundary = sep_boundary + '--'
-        body = StringIO.StringIO()
+        body = StringIO()
         file_fields = ('content', 'gpg_signature')
 
         for key, values in data.items():
@@ -198,5 +201,7 @@
         else:
             self.announce('Upload failed (%s): %s' % (status, reason),
                           log.ERROR)
+
         if self.show_response:
-            self.announce('-'*75, result.read(), '-'*75)
+            msg = '\n'.join(('-' * 75, result.read(), '-' * 75))
+            self.announce(msg, log.INFO)
diff --git a/src/distutils2/command/upload_docs.py b/src/distutils2/command/upload_docs.py
--- a/src/distutils2/command/upload_docs.py
+++ b/src/distutils2/command/upload_docs.py
@@ -1,5 +1,13 @@
-import base64, httplib, os.path, socket, urlparse, zipfile
-from cStringIO import StringIO
+import os
+import base64
+import httplib
+import socket
+import urlparse
+import zipfile
+try:
+    from cStringIO import StringIO
+except ImportError:
+    from StringIO import StringIO
 
 from distutils2 import log
 from distutils2.command.upload import upload
@@ -144,4 +152,5 @@
                           log.ERROR)
 
         if self.show_response:
-            print "\n".join(['-'*75, r.read(), '-'*75])
+            msg = '\n'.join(('-' * 75, r.read(), '-' * 75))
+            self.announce(msg, log.INFO)
diff --git a/src/distutils2/tests/test_upload_docs.py b/src/distutils2/tests/test_upload_docs.py
--- a/src/distutils2/tests/test_upload_docs.py
+++ b/src/distutils2/tests/test_upload_docs.py
@@ -186,26 +186,13 @@
         self.assertRaises(DistutilsOptionError, self.cmd.ensure_finalized)
 
     def test_show_response(self):
-        orig_stdout = sys.stdout
-        write_args = []
+        self.prepare_command()
+        self.cmd.show_response = True
+        self.cmd.run()
+        record = self.logs[-1][1]
 
-        class MockStdIn(object):
-            def write(self, arg):
-                write_args.append(arg)
-            def flush(self):
-                pass
-
-        sys.stdout = MockStdIn()
-        try:
-            self.prepare_command()
-            self.cmd.show_response = True
-            self.cmd.run()
-        finally:
-            sys.stdout = orig_stdout
-
-        self.assertTrue(write_args[0], "should report the response")
-        self.assertIn(self.pypi.default_response_data + "\n",
-                      '\n'.join(write_args))
+        self.assertTrue(record, "should report the response")
+        self.assertIn(self.pypi.default_response_data, record)
 
 def test_suite():
     return unittest.makeSuite(UploadDocsTestCase)

--
Repository URL: http://hg.python.org/distutils2


More information about the Python-checkins mailing list