| 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 |