2 Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
3 See https://llvm.org/LICENSE.txt for license information.
4 SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 Prepares language bindings for LLDB build process. Run with --help
7 to see a description of the supported command line arguments.
14 def _encoded_write(old_write
, encoding
):
16 # If we were asked to write a `bytes` decode it as unicode before
17 # attempting to write.
18 if isinstance(s
, bytes
):
19 s
= s
.decode(encoding
, "replace")
20 # Filter unreadable characters, Python 3 is stricter than python 2 about them.
23 s
= re
.sub(r
"[^\x00-\x7f]", r
" ", s
)
30 Create a Text I/O file object that can be written to with either unicode strings
36 file, encoding
, mode
="r", buffering
=-1, errors
=None, newline
=None, closefd
=True
38 wrapped_file
= io
.open(
47 new_write
= _encoded_write(getattr(wrapped_file
, "write"), encoding
)
48 setattr(wrapped_file
, "write", new_write
)