summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorerkin <e.altunbas@vyos.io>2021-01-31 07:26:22 +0300
committererkin <e.altunbas@vyos.io>2021-01-31 07:26:22 +0300
commit55c5d662290aea9f2c3abe911bd9920f4f9d7d9a (patch)
tree5b472cf0c1e324395082e99b4cf85f80f086cf06
parent5e50f072478167a7e2027f39d4c8925c9c4fefde (diff)
downloadvyos-1x-55c5d662290aea9f2c3abe911bd9920f4f9d7d9a.tar.gz
vyos-1x-55c5d662290aea9f2c3abe911bd9920f4f9d7d9a.zip
vyos: T3274: Handle EOF in ask_yes_no()
-rw-r--r--python/vyos/util.py23
1 files changed, 13 insertions, 10 deletions
diff --git a/python/vyos/util.py b/python/vyos/util.py
index 699f05892..ab5029c92 100644
--- a/python/vyos/util.py
+++ b/python/vyos/util.py
@@ -554,16 +554,19 @@ def ask_yes_no(question, default=False) -> bool:
from sys import stdout
default_msg = "[Y/n]" if default else "[y/N]"
while True:
- stdout.write("%s %s " % (question, default_msg))
- c = input().lower()
- if c == '':
- return default
- elif c in ("y", "ye", "yes"):
- return True
- elif c in ("n", "no"):
- return False
- else:
- stdout.write("Please respond with yes/y or no/n\n")
+ try:
+ stdout.write("%s %s " % (question, default_msg))
+ c = input().lower()
+ if c == '':
+ return default
+ elif c in ("y", "ye", "yes"):
+ return True
+ elif c in ("n", "no"):
+ return False
+ else:
+ stdout.write("Please respond with yes/y or no/n\n")
+ except EOFError:
+ stdout.write("\nPlease respond with yes/y or no/n\n")
def is_admin() -> bool: