|
1 | 1 | import os
|
| 2 | +from glob import glob |
| 3 | +import tempfile |
| 4 | +from shutil import copyfile, copytree |
2 | 5 | from sys import platform
|
3 | 6 |
|
4 | 7 |
|
@@ -26,7 +29,53 @@ def dev_config():
|
26 | 29 |
|
27 | 30 | def test_config(path):
|
28 | 31 | default_config()
|
29 |
| - print(f"{os.path.dirname(__file__)=}", flush=True) |
30 |
| - os.environ["DATA_FOLDER_PATH"] = os.path.join(path, "data") |
31 | 32 |
|
32 |
| - print(f"{os.environ.get('DATA_FOLDER_PATH')=}", flush=True) |
| 33 | + tmp_data_root = tempfile.mkdtemp(prefix="ogw_test_data_") |
| 34 | + os.environ["DATA_FOLDER_PATH"] = tmp_data_root |
| 35 | + |
| 36 | + original_data_path = os.path.join(path, "data") |
| 37 | + if not os.path.exists(original_data_path): |
| 38 | + raise FileNotFoundError(f"Test data folder not found: {original_data_path}") |
| 39 | + |
| 40 | + valid_extensions = {".vtp", ".vti", ".vtu", ".vtm", ".png", ".jpeg", ".jpg"} |
| 41 | + |
| 42 | + legacy_id = "123456789" |
| 43 | + legacy_dir = os.path.join(tmp_data_root, legacy_id) |
| 44 | + os.makedirs(legacy_dir, exist_ok=True) |
| 45 | + |
| 46 | + for root, dirs, files in os.walk(original_data_path): |
| 47 | + rel_root = os.path.relpath(root, original_data_path) |
| 48 | + |
| 49 | + # Copier sous-dossiers (comme cube/) dans leur ensemble |
| 50 | + for d in dirs: |
| 51 | + src_dir = os.path.join(root, d) |
| 52 | + dst_dir = os.path.join(tmp_data_root, legacy_id, d) |
| 53 | + if not os.path.exists(dst_dir): |
| 54 | + copytree(src_dir, dst_dir, dirs_exist_ok=True) |
| 55 | + print(f"📦 Copied folder: {src_dir} → {dst_dir}", flush=True) |
| 56 | + |
| 57 | + for file_name in files: |
| 58 | + ext = os.path.splitext(file_name)[1].lower() |
| 59 | + if ext not in valid_extensions: |
| 60 | + continue |
| 61 | + |
| 62 | + full_path = os.path.join(root, file_name) |
| 63 | + uuid = os.path.splitext(file_name)[0] |
| 64 | + |
| 65 | + # uuid/filename |
| 66 | + dst_dir = os.path.join(tmp_data_root, uuid) |
| 67 | + os.makedirs(dst_dir, exist_ok=True) |
| 68 | + dst = os.path.join(dst_dir, file_name) |
| 69 | + copyfile(full_path, dst) |
| 70 | + |
| 71 | + # legacy path: 123456789/filename |
| 72 | + legacy_dst = os.path.join(legacy_dir, file_name) |
| 73 | + copyfile(full_path, legacy_dst) |
| 74 | + |
| 75 | + # root-level copy |
| 76 | + root_level_dst = os.path.join(tmp_data_root, file_name) |
| 77 | + copyfile(full_path, root_level_dst) |
| 78 | + |
| 79 | + print(f"📄 Copied file: {full_path} → {root_level_dst}", flush=True) |
| 80 | + |
| 81 | + print(f"\n✅ DATA_FOLDER_PATH set to: {tmp_data_root}", flush=True) |
0 commit comments