summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenedikt Loeffler <benedikt.loeffler@bmw.de>2021-10-13 13:50:36 +0200
committerCyril Roelandt <cyril@redhat.com>2022-07-07 02:55:10 +0200
commit8df9328a60045edae36dc64cee1f2cf3cd4a09fa (patch)
tree7a70878b6caed05db777391ba224111e6bfc8a52
parentbe8f394ab1b487ea771e2ae7410e27c374cb9cd8 (diff)
downloadpython-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.py2
-rw-r--r--glanceclient/v2/shell.py4
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):