prevent crash when sys.stdout and co. are None (#653)

pull/658/head
Mike Fährmann 5 years ago
parent d47d0f757c
commit 4bc161ca0f
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -108,7 +108,7 @@ def parse_inputfile(file, log):
def main():
try:
if sys.stdout.encoding.lower() != "utf-8":
if sys.stdout and sys.stdout.encoding.lower() != "utf-8":
output.replace_std_streams()
parser = option.build_parser()

@ -149,12 +149,13 @@ def replace_std_streams(errors="replace"):
"""Replace standard streams and set their error handlers to 'errors'"""
for name in ("stdout", "stdin", "stderr"):
stream = getattr(sys, name)
setattr(sys, name, stream.__class__(
stream.buffer,
errors=errors,
newline=stream.newlines,
line_buffering=stream.line_buffering,
))
if stream:
setattr(sys, name, stream.__class__(
stream.buffer,
errors=errors,
newline=stream.newlines,
line_buffering=stream.line_buffering,
))
# --------------------------------------------------------------------

Loading…
Cancel
Save