Merge pull request #4537 from edsrzf/color-parallel

Colorize statuses in parallel_execute output
This commit is contained in:
Joffrey F 2017-03-01 14:29:45 -08:00 committed by GitHub
commit f989ae8da6
1 changed files with 6 additions and 4 deletions

View File

@ -11,6 +11,8 @@ from six.moves import _thread as thread
from six.moves.queue import Empty from six.moves.queue import Empty
from six.moves.queue import Queue from six.moves.queue import Queue
from compose.cli.colors import green
from compose.cli.colors import red
from compose.cli.signals import ShutdownException from compose.cli.signals import ShutdownException
from compose.errors import HealthCheckFailed from compose.errors import HealthCheckFailed
from compose.errors import NoHealthCheckConfigured from compose.errors import NoHealthCheckConfigured
@ -45,16 +47,16 @@ def parallel_execute(objects, func, get_name, msg, get_deps=None):
for obj, result, exception in events: for obj, result, exception in events:
if exception is None: if exception is None:
writer.write(get_name(obj), 'done') writer.write(get_name(obj), green('done'))
results.append(result) results.append(result)
elif isinstance(exception, APIError): elif isinstance(exception, APIError):
errors[get_name(obj)] = exception.explanation errors[get_name(obj)] = exception.explanation
writer.write(get_name(obj), 'error') writer.write(get_name(obj), red('error'))
elif isinstance(exception, (OperationFailedError, HealthCheckFailed, NoHealthCheckConfigured)): elif isinstance(exception, (OperationFailedError, HealthCheckFailed, NoHealthCheckConfigured)):
errors[get_name(obj)] = exception.msg errors[get_name(obj)] = exception.msg
writer.write(get_name(obj), 'error') writer.write(get_name(obj), red('error'))
elif isinstance(exception, UpstreamError): elif isinstance(exception, UpstreamError):
writer.write(get_name(obj), 'error') writer.write(get_name(obj), red('error'))
else: else:
errors[get_name(obj)] = exception errors[get_name(obj)] = exception
error_to_reraise = exception error_to_reraise = exception