Fix bug where confirmation prompt doesn't show due to line buffering

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
Aanand Prasad 2016-05-19 07:41:02 -07:00
parent ca3aef0c84
commit 0c8aeb9e05
1 changed files with 11 additions and 1 deletions

View File

@ -6,9 +6,9 @@ import os
import platform
import ssl
import subprocess
import sys
import docker
from six.moves import input
import compose
@ -42,6 +42,16 @@ def yesno(prompt, default=None):
return None
def input(prompt):
"""
Version of input (raw_input in Python 2) which forces a flush of sys.stdout
to avoid problems where the prompt fails to appear due to line buffering
"""
sys.stdout.write(prompt)
sys.stdout.flush()
return sys.stdin.readline().rstrip(b'\n')
def call_silently(*args, **kwargs):
"""
Like subprocess.call(), but redirects stdout and stderr to /dev/null.