def _parse_every_object()

in attacks/paddle_ace_create.py [0:0]


def _parse_every_object(obj, condition_func, convert_func):
    if condition_func(obj):
        return convert_func(obj)
    elif isinstance(obj, (dict, OrderedDict, list)):
        if isinstance(obj, list):
            keys = range(len(obj))
        else:
            keys = list(obj.keys())
        for key in keys:
            if condition_func(obj[key]):
                obj[key] = convert_func(obj[key])
            else:
                obj[key] = _parse_every_object(
                    obj[key], condition_func, convert_func
                )
        return obj
    elif isinstance(obj, tuple):
        return tuple(
            _parse_every_object(list(obj), condition_func, convert_func)
        )
    elif isinstance(obj, set):
        object(list(obj), condition_func, convert_func)
    else:
        return obj