[issue23004] mock_open() should allow reading binary data

2015-08-07 Thread Berker Peksag
Berker Peksag added the comment: data_as_list = read_data.splitlines(True) is not actually the equivalent of data_as_list = [l + sep for l in read_data.split(sep)] It will change the behavior of the _iterate_read_data helper. See the comment at

[issue23004] mock_open() should allow reading binary data

2015-08-07 Thread R. David Murray
R. David Murray added the comment: splitlines(keepends=True) is not ever equivalent to splitting by just '\n'. I don't know the details here, but switching to that would certainly be a behavior change. (Especially if the code path also applies to non-binary data!):

[issue23004] mock_open() should allow reading binary data

2015-08-06 Thread Berker Peksag
Berker Peksag added the comment: Thanks for the patch, Aaron(also thanks to Demian for reviews). I've fixed the merge conflict and added more tests. -- resolution: - fixed stage: commit review - resolved status: open - closed ___ Python tracker

[issue23004] mock_open() should allow reading binary data

2015-08-06 Thread Roundup Robot
Roundup Robot added the comment: New changeset 3d7adf5b3fb3 by Berker Peksag in branch '3.4': Issue #23004: mock_open() now reads binary data correctly when the type of read_data is bytes. https://hg.python.org/cpython/rev/3d7adf5b3fb3 New changeset 526a186de32d by Berker Peksag in branch

[issue23004] mock_open() should allow reading binary data

2015-08-06 Thread Robert Collins
Robert Collins added the comment: Post merge review: looks like data_as_list = read_data.splitlines(True) would be a little cleaner. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23004

[issue23004] mock_open() should allow reading binary data

2015-08-06 Thread Berker Peksag
Changes by Berker Peksag berker.pek...@gmail.com: -- assignee: - berker.peksag ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23004 ___ ___

[issue23004] mock_open() should allow reading binary data

2015-07-14 Thread Robert Collins
Changes by Robert Collins robe...@robertcollins.net: -- nosy: +rbcollins versions: +Python 3.6 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23004 ___

[issue23004] mock_open() should allow reading binary data

2015-03-01 Thread Berker Peksag
Berker Peksag added the comment: LGTM. -- components: +Library (Lib) stage: patch review - commit review ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23004 ___

[issue23004] mock_open() should allow reading binary data

2015-02-12 Thread Demian Brecht
Changes by Demian Brecht demianbre...@gmail.com: -- nosy: -demian.brecht ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23004 ___ ___

[issue23004] mock_open() should allow reading binary data

2014-12-31 Thread Demian Brecht
Demian Brecht added the comment: A few more comments were left in Rietveld for you, likely hidden by spam filters. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23004 ___

[issue23004] mock_open() should allow reading binary data

2014-12-19 Thread Aaron Hill
Aaron Hill added the comment: I've fixed the formatting issues. -- Added file: http://bugs.python.org/file37510/mock-open-allow-binary-data-fix-formatting.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23004

[issue23004] mock_open() should allow reading binary data

2014-12-15 Thread Aaron Hill
Aaron Hill added the comment: I've fixed the issues you pointed out. Is there a better way than uploading a new patch file to make changes? -- Added file: http://bugs.python.org/file37458/mock-open-allow-binary-without-coerce-fixup.patch ___ Python

[issue23004] mock_open() should allow reading binary data

2014-12-15 Thread Demian Brecht
Demian Brecht added the comment: Thanks for the updated patch, looks good to me. If you haven't already read it, the patch workflow is here: https://docs.python.org/devguide/patch.html and is the only workflow currently available. -- ___ Python

[issue23004] mock_open() should allow reading binary data

2014-12-15 Thread Berker Peksag
Changes by Berker Peksag berker.pek...@gmail.com: -- stage: needs patch - patch review ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23004 ___ ___

[issue23004] mock_open() should allow reading binary data

2014-12-14 Thread Aaron Hill
Aaron Hill added the comment: Thanks, I've fixed that. Not sure why I thought decoding and re-encoding would work with any binary data. I've also updated one of the tests to use non-utf8-decodeable binary data, to prevent a future regression. -- Added file:

[issue23004] mock_open() should allow reading binary data

2014-12-14 Thread Demian Brecht
Demian Brecht added the comment: Thanks again for the update Aaron, I've left a couple small comments in Rietveld. Other than those, the patch looks good to me. Thanks for the contribution! -- ___ Python tracker rep...@bugs.python.org

[issue23004] mock_open() should allow reading binary data

2014-12-13 Thread Aaron Hill
Aaron Hill added the comment: I've created a new patch, which addresses the problem. Your example now currently returns [b'foo\n', b'bar\n'] -- Added file: http://bugs.python.org/file37440/mock-open-allow-binary-data-updated.patch ___ Python

[issue23004] mock_open() should allow reading binary data

2014-12-13 Thread Demian Brecht
Demian Brecht added the comment: Thanks for the update, but this doesn't quite work either as you're assuming utf-8 (which is what .encode() and .decode() default to). For example, when using latin-1: m = mock_open(read_data= b'\xc6') with patch('__main__.open', m, create=True) : ...

[issue23004] mock_open() should allow reading binary data

2014-12-12 Thread Aaron Hill
Aaron Hill added the comment: I've created a patch that fixes this, and added an accompanying unit test (which fails without the change). -- keywords: +patch nosy: +Aaron1011 Added file: http://bugs.python.org/file37435/mock-open-allow-binary-data.patch

[issue23004] mock_open() should allow reading binary data

2014-12-12 Thread Demian Brecht
Demian Brecht added the comment: Thanks for the patch Aaron. Unfortunately this doesn't quite fix the issue. There are two problems with the patch: If a bytes object is passed into mock_open, I'd expect a bytes object in the output. In your patch, not only is this not the case (the output is

[issue23004] mock_open() should allow reading binary data

2014-12-12 Thread Demian Brecht
Demian Brecht added the comment: There are two problems with the patch That was intended to be removed after I changed the wording :P -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23004

[issue23004] mock_open() should allow reading binary data

2014-12-07 Thread Jesús Cea Avión
New submission from Jesús Cea Avión: mock_open(read_data=b'...') gives an error: Traceback (most recent call last): File z.py, line 6, in module print(f.read()) File /usr/local/lib/python3.4/unittest/mock.py, line 896, in __call__ return _mock_self._mock_call(*args, **kwargs) File

[issue23004] mock_open() should allow reading binary data

2014-12-07 Thread Jesús Cea Avión
Changes by Jesús Cea Avión j...@jcea.es: -- dependencies: +Enhancement: give mock_open readline() and readlines() methods ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23004 ___

[issue23004] mock_open() should allow reading binary data

2014-12-07 Thread Berker Peksag
Changes by Berker Peksag berker.pek...@gmail.com: -- nosy: +berker.peksag stage: - needs patch type: - behavior versions: +Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23004