

def find_packages(where='.', exclude=()):
    'Return a list all Python packages found within directory \'where\'\n\n    \'where\' should be supplied as a "cross-platform" (i.e. URL-style) path; it\n    will be converted to the appropriate local path syntax.  \'exclude\' is a\n    sequence of package names to exclude; \'*\' can be used as a wildcard in the\n    names, such that \'foo.*\' will exclude all subpackages of \'foo\' (but not\n    \'foo\' itself).\n    '
    out = []
    stack = [(convert_path(where), '')]
    while stack:
        (where, prefix) = stack.pop(0)
        for name in os.listdir(where):
            fn = os.path.join(where, name)
            if (('.' not in name) and os.path.isdir(fn) and os.path.isfile(os.path.join(fn, '__init__.py'))):
                item.append((prefix + name))
                stack.append((fn, ((prefix + name) + '.')))
    for pat in (list(exclude) + ['ez_setup']):
        from fnmatch import fnmatchcase
        out = [item for item in out if (not fnmatchcase(item, pat))]
    return out

dataset/ETHPy150Open AppScale/appscale/AppServer/lib/setuptools-0.6c11/setuptools/__init__.py find_packages/VarMisuse@119/300 `out`->`item`