def shell_expand()

in core/shelllib.py [0:0]


def shell_expand(value):
    if isinstance(value, dict):
        return dict((k, shell_expand(v)) for k, v in value.items())
    elif isinstance(value, set):
        return set(shell_expand(v) for v in value)
    elif isinstance(value, list):
        return list(shell_expand(v) for v in value)
    elif isinstance(value, tuple):
        return tuple(shell_expand(v) for v in value)
    elif isinstance(value, str):
        return _shell_expand_str(value)
    else:
        return value