From 3b92766fa3c893e6938ce55308d762ff2549df54 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Tue, 3 Apr 2018 09:26:45 +0100 Subject: [PATCH 1/2] Fix open function for text mode (#122) --- lz4/frame/__init__.py | 4 +++- tests/frame/test_frame_6.py | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lz4/frame/__init__.py b/lz4/frame/__init__.py index e4d73924..fecfc6f8 100644 --- a/lz4/frame/__init__.py +++ b/lz4/frame/__init__.py @@ -832,9 +832,11 @@ def open(filename, mode="rb", if newline is not None: raise ValueError("Argument 'newline' not supported in binary mode") + _mode = mode.replace('t', '') + binary_file = LZ4FrameFile( filename, - mode=mode, + mode=_mode, block_size=block_size, block_linked=block_linked, compression_level=compression_level, diff --git a/tests/frame/test_frame_6.py b/tests/frame/test_frame_6.py index 32c855ae..8d3e1b73 100644 --- a/tests/frame/test_frame_6.py +++ b/tests/frame/test_frame_6.py @@ -40,6 +40,14 @@ def test_lz4frame_open_write_read_defaults(data): data_out = fp.read() assert data_out == data +def test_lz4frame_open_write_read_text(): + data = 'This is a test string' + with lz4frame.open('testfile', mode='wt') as fp: + fp.write(data) + with lz4frame.open('testfile', mode='rt') as fp: + data_out = fp.read() + assert data_out == data + def test_lz4frame_open_write_read( data, compression_level, From 582443d5f1ada76ceaf26744e1e498f17eef6299 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Tue, 3 Apr 2018 09:41:24 +0100 Subject: [PATCH 2/2] Fix test for text IO on Python 2 --- tests/frame/test_frame_6.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/frame/test_frame_6.py b/tests/frame/test_frame_6.py index 8d3e1b73..8608f675 100644 --- a/tests/frame/test_frame_6.py +++ b/tests/frame/test_frame_6.py @@ -41,7 +41,7 @@ def test_lz4frame_open_write_read_defaults(data): assert data_out == data def test_lz4frame_open_write_read_text(): - data = 'This is a test string' + data = u'This is a test string' with lz4frame.open('testfile', mode='wt') as fp: fp.write(data) with lz4frame.open('testfile', mode='rt') as fp: