icat: fix exception thrown if stdin is None

Don't use sys.stdin if --stdin=no is given, or if --stdin=detect is given and sys.stdin is None
This commit is contained in:
DiegoBaldassar 2021-09-14 22:18:34 +02:00 committed by GitHub
parent 7266cb653d
commit 8c104b52f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -506,7 +506,7 @@ def main(args: List[str] = sys.argv) -> None:
if not sys.stdout.isatty():
sys.stdout = open(os.ctermid(), 'w')
stdin_data = None
if cli_opts.stdin == 'yes' or (not sys.stdin.isatty() and cli_opts.stdin == 'detect'):
if cli_opts.stdin == 'yes' or (cli_opts.stdin == 'detect' and sys.stdin is not None and not sys.stdin.isatty()):
stdin_data = sys.stdin.buffer.read()
if stdin_data:
items.insert(0, stdin_data)