Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _run_command(function, args, kwargs):
success = False
exit_message = None
try:
log.debug("Running %s command...", getattr(function, '__name__', 'a'))
success = function(*args, **kwargs)
except KeyboardInterrupt:
log.debug("Command canceled")
except exceptions.UncommittedChanges as exception:
_show_error(exception)
exit_message = (
"Run again with --force/--force-interactive to discard changes "
"or '--skip-changes' to skip this dependency"
)
except exceptions.ScriptFailure as exception:
_show_error(exception)
exit_message = "Run again with '--force' to ignore script errors"
except exceptions.InvalidConfig as exception:
_show_error(exception)
exit_message = "Adapt config and run again"
finally:
if exit_message:
common.show(exit_message, color='message')
common.newline()
if success:
log.debug("Command succeeded")
else:
log.debug("Command failed")
sys.exit(1)