~ruther/qmk_firmware

7666c966d54522aabad8be135a5793bd432e78eb — Joel Challis 2 years ago 479d8de
Publish hjson files as json (#18996)

1 files changed, 18 insertions(+), 1 deletions(-)

M lib/python/qmk/cli/generate/api.py
M lib/python/qmk/cli/generate/api.py => lib/python/qmk/cli/generate/api.py +18 -1
@@ 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()