diff options
author | Benedikt Loeffler <benedikt.loeffler@bmw.de> | 2021-10-13 13:50:36 +0200 |
---|---|---|
committer | Cyril Roelandt <cyril@redhat.com> | 2022-07-07 02:55:10 +0200 |
commit | 8df9328a60045edae36dc64cee1f2cf3cd4a09fa (patch) | |
tree | 7a70878b6caed05db777391ba224111e6bfc8a52 | |
parent | be8f394ab1b487ea771e2ae7410e27c374cb9cd8 (diff) | |
download | python-glanceclient-8df9328a60045edae36dc64cee1f2cf3cd4a09fa.tar.gz |
Check if stdin has isatty attribute
When the stdin is closed, it has no isatty atrribute which leads to a KeyError.
Closes-Bug: #1980890
Change-Id: If9a3bf68b8dfd953b346697241166578d18bb563
-rw-r--r-- | glanceclient/common/utils.py | 2 | ||||
-rw-r--r-- | glanceclient/v2/shell.py | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/glanceclient/common/utils.py b/glanceclient/common/utils.py index fd0243c..c3f08de 100644 --- a/glanceclient/common/utils.py +++ b/glanceclient/common/utils.py @@ -447,7 +447,7 @@ def get_data_file(args): except OSError: # (1) stdin is not valid (closed...) return None - if not sys.stdin.isatty(): + if hasattr(sys.stdin, 'isatty') and not sys.stdin.isatty(): # (2) image data is provided through standard input image = sys.stdin if hasattr(sys.stdin, 'buffer'): diff --git a/glanceclient/v2/shell.py b/glanceclient/v2/shell.py index be627f5..84e3639 100644 --- a/glanceclient/v2/shell.py +++ b/glanceclient/v2/shell.py @@ -94,7 +94,7 @@ def do_image_create(gc, args): backend = args.store file_name = fields.pop('file', None) - using_stdin = not sys.stdin.isatty() + using_stdin = hasattr(sys.stdin, 'isatty') and not sys.stdin.isatty() if args.store and not (file_name or using_stdin): utils.exit("--store option should only be provided with --file " "option or stdin.") @@ -205,7 +205,7 @@ def do_image_create_via_import(gc, args): fields[key] = value file_name = fields.pop('file', None) - using_stdin = not sys.stdin.isatty() + using_stdin = hasattr(sys.stdin, 'isatty') and not sys.stdin.isatty() # special processing for backward compatibility with image-create if args.import_method is None and (file_name or using_stdin): |