mirror of
https://github.com/python/cpython.git
synced 2025-12-23 09:19:18 +00:00
This is partly a cleanup of the code. It also is preparation for getting the variables from the source (cross-platform) rather than from the symbols. The change only touches the tool (and its tests).
29 lines
825 B
Python
29 lines
825 B
Python
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
|