Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
except OSError as err:
build_command.mark_failed()
run_id.fail_immediately()
run_id.report_run_failed(
script, err.errno, "Build of " + name + " failed.")
if err.errno == 2:
msg = ("{ind}Build of %s failed.\n"
+ "{ind}{ind}It failed with: %s.\n"
+ "{ind}{ind}File name: %s\n") % (name, err.strerror, err.filename)
else:
msg = str(err)
self._ui.error(msg, run_id, script, path)
return
stdout_result = coerce_string(stdout_result.decode('utf-8'))
stderr_result = coerce_string(stderr_result.decode('utf-8'))
if self._build_log:
self.process_output(name, stdout_result, stderr_result)
if return_code != 0:
build_command.mark_failed()
run_id.fail_immediately()
run_id.report_run_failed(
script, return_code, "Build of " + name + " failed.")
self._ui.error("{ind}Build of " + name + " failed.\n", None, script, path)
if stdout_result and stdout_result.strip():
lines = escape_braces(stdout_result).split('\n')
self._ui.error("{ind}stdout:\n\n{ind}{ind}"
+ "\n{ind}{ind}".join(lines) + "\n")
if stderr_result and stderr_result.strip():
build_command.mark_failed()
run_id.fail_immediately()
run_id.report_run_failed(
script, err.errno, "Build of " + name + " failed.")
if err.errno == 2:
msg = ("{ind}Build of %s failed.\n"
+ "{ind}{ind}It failed with: %s.\n"
+ "{ind}{ind}File name: %s\n") % (name, err.strerror, err.filename)
else:
msg = str(err)
self._ui.error(msg, run_id, script, path)
return
stdout_result = coerce_string(stdout_result.decode('utf-8'))
stderr_result = coerce_string(stderr_result.decode('utf-8'))
if self._build_log:
self.process_output(name, stdout_result, stderr_result)
if return_code != 0:
build_command.mark_failed()
run_id.fail_immediately()
run_id.report_run_failed(
script, return_code, "Build of " + name + " failed.")
self._ui.error("{ind}Build of " + name + " failed.\n", None, script, path)
if stdout_result and stdout_result.strip():
lines = escape_braces(stdout_result).split('\n')
self._ui.error("{ind}stdout:\n\n{ind}{ind}"
+ "\n{ind}{ind}".join(lines) + "\n")
if stderr_result and stderr_result.strip():
lines = escape_braces(stderr_result).split('\n')
# to change incoming LogRecord objects before they get to the base
# formatter. However we don't want to break other formatters and
# handlers, so we copy the log record.
#
# In the past this used copy.copy() but as reported in issue 29
# (which is reproducible) this can cause deadlocks. The following
# Python voodoo is intended to accomplish the same thing as
# copy.copy() without all of the generalization and overhead that
# we don't need for our -very limited- use case.
#
# For more details refer to issue 29 on GitHub:
# https://github.com/xolox/python-coloredlogs/issues/29
copy = Empty()
copy.__class__ = record.__class__
copy.__dict__.update(record.__dict__)
copy.msg = ansi_wrap(coerce_string(record.msg), **style)
record = copy
# Delegate the remaining formatting to the base formatter.
return logging.Formatter.format(self, record)
def output(text, *args, **kw):
"""
Print a formatted message to the standard output stream.
For details about argument handling please refer to
:func:`~humanfriendly.text.format()`.
Renders the message using :func:`~humanfriendly.text.format()` and writes
the resulting string (followed by a newline) to :data:`sys.stdout` using
:func:`auto_encode()`.
"""
auto_encode(sys.stdout, coerce_string(text) + '\n', *args, **kw)
def _read(stream):
data = stream.readline()
decoded = data.decode('utf-8')
return coerce_string(decoded)