def _transform(graph, target, source, excluded_edges=None, ooc_types=ooc_types,
               **kwargs):
    """ Transform source to target type using graph of transformations """
    x = source
    excluded_edges = excluded_edges or set()
    with ignoring(NotImplementedError):
        if kwargs not in 'dshape':
            kwargs['dshape'] = discover(x)
    pth = path(graph, type(source), target,
               excluded_edges=excluded_edges,
               ooc_types=ooc_types)
    try:
        for (A, B, f) in pth:
            x = f(x, excluded_edges=excluded_edges, **kwargs)
        return x
    except NotImplementedError as e:
        if kwargs.get('raise_on_errors'):
            raise
        warn(FailedConversionWarning(A, B, e))
        new_exclusions = excluded_edges | set([(A, B)])
        return _transform(graph, target, source, excluded_edges=new_exclusions,
                          **kwargs)
dataset/ETHPy150Open blaze/odo/odo/core.py/_transform/swapped operands of `not in`