decorators.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:kuberdock-platform 作者: cloudlinux 项目源码 文件源码
def required_exactly_one_of(*arg_names):
    def decorator(fn):
        @wraps(fn)
        def wrapper(*args, **kwargs):
            n = sum(1 for arg_name in arg_names
                    if kwargs.get(arg_name, None) is not None)
            if n != 1:
                raise click.BadOptionUsage('Please specify exactly one of %s '
                                           % ', '.join(arg_names))
            return fn(*args, **kwargs)

        return wrapper

    return decorator
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号