def require_executable(executable):
"""Check if an executable is installed. If not, exit with an
error.
"""
def decorator(f):
@click.pass_context
def new_func(ctx, *args, **kwargs):
"""
:param click.Context ctx:
"""
if utils.which(executable) is None:
click.echo('{} is not installed. Please install it.'.format(executable))
ctx.exit(code=exit_codes.OTHER_FAILURE)
return ctx.invoke(f, *args, **kwargs)
return update_wrapper(new_func, f)
return decorator
评论列表
文章目录