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) | 
