Rolf Krahl added the comment:

Here comes a new version of the patch.  I believe, I addressed all review 
comments made on issue12319_7.patch, with the exception of the EncodingError 
mentioned in the last post.

Most relevant changes compared to last patch:

 * Do not try to dertermine the content length for text files.
 * Change priority of object types for the body: try file like before byte like.
 * Convert byte like to bytes before feeding the body into the socket.  This 
fixes Issue 27340, at least as far as http.client is concerned.
 * Split test_http() in one separate test for each body type in test_urllib2.py.
 * Review documentation.


Another question is: what is the best method to test whether a file like is 
text or binary?  For the moment, I kept the original code that essentially does:

  try:
    isText = "b" not in readable.mode
  except AttributeError:
    isText = False

This logic fails for StringIO and possibly others.  Alternatives could be:

  isText = isinstance(readable, io.TextIOBase)

  isText = hasattr(readable, 'encoding')

or

  isText = isinstance(readable.read(0), str)

What do you guys suggest?

----------
Added file: http://bugs.python.org/file43579/issue12319_8.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue12319>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to