Spaces:
Sleeping
Sleeping
File size: 908 Bytes
036a2db | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | """
scanner.py — Discover Python files in a repository.
"""
import os
from typing import List, Set
EXCLUDED_DIRS: Set[str] = {
"__pycache__",
".git",
".tox",
".mypy_cache",
".pytest_cache",
"venv",
".venv",
"env",
"node_modules",
"experimental",
"examples",
"docs",
"tests",
"test",
"benchmarks",
"datasets",
"dist",
"build",
"egg-info",
}
def find_python_files(root_dir: str) -> List[str]:
"""Walk repo tree, return list of .py file paths, skipping excluded dirs."""
python_files = []
for root, dirs, files in os.walk(root_dir):
dirs[:] = [
d for d in dirs
if d not in EXCLUDED_DIRS
and not d.endswith(".egg-info")
]
for f in files:
if f.endswith(".py"):
python_files.append(os.path.join(root, f))
return python_files
|