Forráskód Böngészése

Publish hjson files as json (#18996)

Joel Challis 2 éve
szülő
commit
7666c966d5
1 módosított fájl, 18 hozzáadás és 1 törlés
  1. 18 1
      lib/python/qmk/cli/generate/api.py

+ 18 - 1
lib/python/qmk/cli/generate/api.py

@@ -27,6 +27,23 @@ def _resolve_keycode_specs(output_folder):
         output_file = output_folder / f'constants/keycodes_{version}.json'
         output_file.write_text(json.dumps(overall, indent=4), encoding='utf-8')
 
+    # Purge files consumed by 'load_spec'
+    shutil.rmtree(output_folder / 'constants/keycodes/')
+
+
+def _filtered_copy(src, dst):
+    src = Path(src)
+    dst = Path(dst)
+
+    if dst.suffix == '.hjson':
+        data = json_load(src)
+
+        dst = dst.with_suffix('.json')
+        dst.write_text(json.dumps(data, indent=4), encoding='utf-8')
+        return dst
+
+    return shutil.copy2(src, dst)
+
 
 def _filtered_keyboard_list():
     """Perform basic filtering of list_keyboards
@@ -58,7 +75,7 @@ def generate_api(cli):
         shutil.rmtree(BUILD_API_PATH)
 
     shutil.copytree(TEMPLATE_PATH, BUILD_API_PATH)
-    shutil.copytree(DATA_PATH, v1_dir)
+    shutil.copytree(DATA_PATH, v1_dir, copy_function=_filtered_copy)
 
     # Filter down when required
     keyboard_list = _filtered_keyboard_list()