from c_analyzer.common.files import ( C_SOURCE_SUFFIXES, walk_tree, iter_files_by_suffix, ) from . import SOURCE_DIRS, REPO_ROOT # XXX need tests: # * iter_files() def iter_files(*, walk=walk_tree, _files=iter_files_by_suffix, ): """Yield each file in the tree for each of the given directory names.""" excludedtrees = [ os.path.join('Include', 'cpython', ''), ] def is_excluded(filename): for root in excludedtrees: if filename.startswith(root): return True return False for filename in _files(SOURCE_DIRS, C_SOURCE_SUFFIXES, REPO_ROOT, walk=walk, ): if is_excluded(filename): continue yield filename