Find all interesting data files, for setup(package_data=) Arguments: root: The directory to search in. globs: A list of glob patterns to accept files.
(base: str, globs: list[str], root: str = "mypy")
| 32 | |
| 33 | |
| 34 | def find_package_data(base: str, globs: list[str], root: str = "mypy") -> list[str]: |
| 35 | """Find all interesting data files, for setup(package_data=) |
| 36 | |
| 37 | Arguments: |
| 38 | root: The directory to search in. |
| 39 | globs: A list of glob patterns to accept files. |
| 40 | """ |
| 41 | |
| 42 | rv_dirs = [root for root, dirs, files in os.walk(base)] |
| 43 | rv = [] |
| 44 | for rv_dir in rv_dirs: |
| 45 | files = [] |
| 46 | for pat in globs: |
| 47 | files += glob.glob(os.path.join(rv_dir, pat)) |
| 48 | if not files: |
| 49 | continue |
| 50 | rv.extend([os.path.relpath(f, root) for f in files]) |
| 51 | return rv |
| 52 | |
| 53 | |
| 54 | class CustomPythonBuild(build_py): |