Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
default.update(kwargs)
kwargs = default
try:
p = subprocess.Popen(*args, **kwargs)
result['out'], result['err'] = p.communicate()
result['returncode'] = p.returncode
except KeyboardInterrupt:
click.secho('Aborted by user', fg='red')
exit(1)
except Exception as e:
click.secho(str(e), fg='red')
exit(1)
finally:
for s in ('stdout', 'stderr'):
if isinstance(kwargs[s], AsyncPipe):
kwargs[s].close()
_parse_result(kwargs, result)
return result
system_base_dir = util.get_package_dir('tools-system')
system_bin_dir = util.safe_join(system_base_dir, 'bin')
on_stdout = None if silent else self._on_stdout
on_stderr = self._on_stderr
if util.check_package(
self.name,
self.version,
self.spec_version,
system_bin_dir
):
result = util.exec_command(
util.safe_join(system_bin_dir, command + self.ext),
stdout=util.AsyncPipe(on_stdout),
stderr=util.AsyncPipe(on_stderr))
return result
processing_board = board
else:
processing_board = 'custom board'
click.echo('[%s] Processing %s' % (
datetime.datetime.now().strftime('%c'),
click.style(processing_board, fg='cyan', bold=True)))
click.secho('-' * terminal_width, bold=True)
if self.profile.get_verbose_mode() > 0:
click.secho('Executing: {}'.format(
' '.join(util.scons_command + ['-Q', command] + variables)))
result = util.exec_command(
util.scons_command + ['-Q', command] + variables,
stdout=util.AsyncPipe(self._on_stdout),
stderr=util.AsyncPipe(self._on_stderr)
)
# -- Print result
exit_code = result.get('returncode')
is_error = exit_code != 0
summary_text = ' Took %.2f seconds ' % (time.time() - start_time)
half_line = '=' * int(
((terminal_width - len(summary_text) - 10) / 2))
click.echo('%s [%s]%s%s' % (
half_line,
(click.style(' ERROR ', fg='red', bold=True)
if is_error else click.style('SUCCESS', fg='green', bold=True)),
summary_text,
half_line
), err=is_error)
result = {}
system_base_dir = util.get_package_dir('tools-system')
system_bin_dir = util.safe_join(system_base_dir, 'bin')
on_stdout = None if silent else self._on_stdout
on_stderr = self._on_stderr
if util.check_package(
self.name,
self.version,
self.spec_version,
system_bin_dir
):
result = util.exec_command(
util.safe_join(system_bin_dir, command + self.ext),
stdout=util.AsyncPipe(on_stdout),
stderr=util.AsyncPipe(on_stderr))
return result
if board:
processing_board = board
else:
processing_board = 'custom board'
click.echo('[%s] Processing %s' % (
datetime.datetime.now().strftime('%c'),
click.style(processing_board, fg='cyan', bold=True)))
click.secho('-' * terminal_width, bold=True)
if self.profile.get_verbose_mode() > 0:
click.secho('Executing: {}'.format(
' '.join(util.scons_command + ['-Q', command] + variables)))
result = util.exec_command(
util.scons_command + ['-Q', command] + variables,
stdout=util.AsyncPipe(self._on_stdout),
stderr=util.AsyncPipe(self._on_stderr)
)
# -- Print result
exit_code = result.get('returncode')
is_error = exit_code != 0
summary_text = ' Took %.2f seconds ' % (time.time() - start_time)
half_line = '=' * int(
((terminal_width - len(summary_text) - 10) / 2))
click.echo('%s [%s]%s%s' % (
half_line,
(click.style(' ERROR ', fg='red', bold=True)
if is_error else click.style('SUCCESS', fg='green', bold=True)),
summary_text,
half_line
), err=is_error)