summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
Diffstat (limited to 'django')
-rw-r--r--django/db/migrations/questioner.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/django/db/migrations/questioner.py b/django/db/migrations/questioner.py
index 2e61195581..445d4410e6 100644
--- a/django/db/migrations/questioner.py
+++ b/django/db/migrations/questioner.py
@@ -111,17 +111,19 @@ class InteractiveMigrationQuestioner(MigrationQuestioner):
for i, choice in enumerate(choices):
self.prompt_output.write(" %s) %s" % (i + 1, choice))
self.prompt_output.write("Select an option: ", ending="")
- result = input()
while True:
try:
+ result = input()
value = int(result)
except ValueError:
pass
+ except KeyboardInterrupt:
+ self.prompt_output.write("\nCancelled.")
+ sys.exit(1)
else:
if 0 < value <= len(choices):
return value
self.prompt_output.write("Please select a valid option: ", ending="")
- result = input()
def _ask_default(self, default=""):
"""
@@ -148,7 +150,11 @@ class InteractiveMigrationQuestioner(MigrationQuestioner):
else:
prompt = ">>> "
self.prompt_output.write(prompt, ending="")
- code = input()
+ try:
+ code = input()
+ except KeyboardInterrupt:
+ self.prompt_output.write("\nCancelled.")
+ sys.exit(1)
if not code and default:
code = default
if not code: