diff options
Diffstat (limited to 'packages/Python/lldbsuite/support/encoded_file.py')
-rw-r--r-- | packages/Python/lldbsuite/support/encoded_file.py | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/packages/Python/lldbsuite/support/encoded_file.py b/packages/Python/lldbsuite/support/encoded_file.py index 7581564f7e3a..2c2fef383f7f 100644 --- a/packages/Python/lldbsuite/support/encoded_file.py +++ b/packages/Python/lldbsuite/support/encoded_file.py @@ -14,6 +14,7 @@ import io # Third party modules import six + def _encoded_read(old_read, encoding): def impl(size): result = old_read(size) @@ -24,6 +25,7 @@ def _encoded_read(old_read, encoding): return result return impl + def _encoded_write(old_write, encoding): def impl(s): # If we were asked to write a `str` (in Py2) or a `bytes` (in Py3) decode it @@ -38,9 +40,24 @@ Create a Text I/O file object that can be written to with either unicode strings under Python 2 and Python 3, and automatically encodes and decodes as necessary to return the native string type for the current Python version ''' -def open(file, encoding, mode='r', buffering=-1, errors=None, newline=None, closefd=True): - wrapped_file = io.open(file, mode=mode, buffering=buffering, encoding=encoding, - errors=errors, newline=newline, closefd=closefd) + + +def open( + file, + encoding, + mode='r', + buffering=-1, + errors=None, + newline=None, + closefd=True): + wrapped_file = io.open( + file, + mode=mode, + buffering=buffering, + encoding=encoding, + errors=errors, + newline=newline, + closefd=closefd) new_read = _encoded_read(getattr(wrapped_file, 'read'), encoding) new_write = _encoded_write(getattr(wrapped_file, 'write'), encoding) setattr(wrapped_file, 'read', new_read) |