|
13 | 13 |
|
14 | 14 | import argparse |
15 | 15 | import pathlib |
| 16 | +import shutil |
16 | 17 | import sys |
17 | 18 |
|
18 | 19 | sys.path.insert(0, str(pathlib.Path(__file__).parent.parent)) |
@@ -92,23 +93,29 @@ def patch_directory( |
92 | 93 | if lib_dir is None: |
93 | 94 | lib_dir = parse_lib_path(src_dir) |
94 | 95 |
|
95 | | - src_files = sorted(src_dir.glob("**/*.py")) |
| 96 | + src_files = sorted(f for f in src_dir.glob("**/*") if f.is_file()) |
96 | 97 |
|
97 | 98 | for src_file in src_files: |
98 | 99 | rel_path = src_file.relative_to(src_dir) |
99 | 100 | lib_file = lib_dir / rel_path |
100 | 101 |
|
101 | | - if lib_file.exists(): |
102 | | - if verbose: |
103 | | - print(f"Patching: {src_file} -> {lib_file}") |
104 | | - content = patch_single_content(src_file, lib_file) |
| 102 | + if src_file.suffix == ".py": |
| 103 | + if lib_file.exists(): |
| 104 | + if verbose: |
| 105 | + print(f"Patching: {src_file} -> {lib_file}") |
| 106 | + content = patch_single_content(src_file, lib_file) |
| 107 | + else: |
| 108 | + if verbose: |
| 109 | + print(f"Copying: {src_file} -> {lib_file}") |
| 110 | + content = src_file.read_text(encoding="utf-8") |
| 111 | + |
| 112 | + lib_file.parent.mkdir(parents=True, exist_ok=True) |
| 113 | + lib_file.write_text(content, encoding="utf-8") |
105 | 114 | else: |
106 | 115 | if verbose: |
107 | 116 | print(f"Copying: {src_file} -> {lib_file}") |
108 | | - content = src_file.read_text(encoding="utf-8") |
109 | | - |
110 | | - lib_file.parent.mkdir(parents=True, exist_ok=True) |
111 | | - lib_file.write_text(content, encoding="utf-8") |
| 117 | + lib_file.parent.mkdir(parents=True, exist_ok=True) |
| 118 | + shutil.copy2(src_file, lib_file) |
112 | 119 |
|
113 | 120 |
|
114 | 121 | def main(argv: list[str] | None = None) -> int: |
|
0 commit comments