Exemple #1
0
def apply_enforcer(
    func: typing.Callable,
    generic: bool = False,
    settings=None,
    parent_root: typing.Optional[Validator] = None,
    instance_of: typing.Optional[GenericProxy] = None,
) -> typing.Callable:
    """
    Adds an Enforcer instance to the passed function/generic if it doesn't yet exist
    or if it is not an instance of Enforcer

    Such instance is added as '__enforcer__'
    """
    if not hasattr(func, "__enforcer__") or not isinstance(
            func.__enforcer__, Enforcer):
        # if not hasattr(func, '__enforcer__'):
        #    func = EnforceProxy(func)

        # if not isinstance(func.__enforcer__, Enforcer):
        # Replaces 'incorrect' enforcers
        func.__enforcer__ = generate_new_enforcer(func, generic, parent_root,
                                                  instance_of, settings)
        func.__enforcer__.reference = func

    return func
Exemple #2
0
def apply_enforcer(func: typing.Callable,
                   generic: bool=False,
                   settings = None,
                   parent_root: typing.Optional[Validator]=None,
                   instance_of: typing.Optional[GenericProxy]=None) -> typing.Callable:
    """
    Adds an Enforcer instance to the passed function/generic if it doesn't yet exist
    or if it is not an instance of Enforcer

    Such instance is added as '__enforcer__'
    """
    if not hasattr(func, '__enforcer__') or not isinstance(func.__enforcer__, Enforcer):
        # Replaces 'incorrect' enforcers
        func.__enforcer__ = generate_new_enforcer(func, generic, parent_root, instance_of, settings)
        func.__enforcer__.reference = func

    return func