Update json2c to use dump_lines (#21013)
parent
595f7db384
commit
fb056c5437
|
@ -5,7 +5,7 @@ from milc import cli
|
||||||
|
|
||||||
import qmk.keymap
|
import qmk.keymap
|
||||||
import qmk.path
|
import qmk.path
|
||||||
from qmk.commands import parse_configurator_json
|
from qmk.commands import dump_lines, parse_configurator_json
|
||||||
|
|
||||||
|
|
||||||
@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to')
|
@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to')
|
||||||
|
@ -21,21 +21,8 @@ def json2c(cli):
|
||||||
# Parse the configurator from json file (or stdin)
|
# Parse the configurator from json file (or stdin)
|
||||||
user_keymap = parse_configurator_json(cli.args.filename)
|
user_keymap = parse_configurator_json(cli.args.filename)
|
||||||
|
|
||||||
# Environment processing
|
|
||||||
if cli.args.output and cli.args.output.name == '-':
|
|
||||||
cli.args.output = None
|
|
||||||
|
|
||||||
# Generate the keymap
|
# Generate the keymap
|
||||||
keymap_c = qmk.keymap.generate_c(user_keymap)
|
keymap_c = qmk.keymap.generate_c(user_keymap)
|
||||||
|
|
||||||
if cli.args.output:
|
# Show the results
|
||||||
cli.args.output.parent.mkdir(parents=True, exist_ok=True)
|
dump_lines(cli.args.output, keymap_c.split('\n'), cli.args.quiet)
|
||||||
if cli.args.output.exists():
|
|
||||||
cli.args.output.replace(cli.args.output.parent / (cli.args.output.name + '.bak'))
|
|
||||||
cli.args.output.write_text(keymap_c)
|
|
||||||
|
|
||||||
if not cli.args.quiet:
|
|
||||||
cli.log.info('Wrote keymap to %s.', cli.args.output)
|
|
||||||
|
|
||||||
else:
|
|
||||||
print(keymap_c)
|
|
||||||
|
|
|
@ -144,7 +144,7 @@ def test_list_keymaps_no_keyboard_found():
|
||||||
def test_json2c():
|
def test_json2c():
|
||||||
result = check_subcommand('json2c', 'keyboards/handwired/pytest/has_template/keymaps/default_json/keymap.json')
|
result = check_subcommand('json2c', 'keyboards/handwired/pytest/has_template/keymaps/default_json/keymap.json')
|
||||||
check_returncode(result)
|
check_returncode(result)
|
||||||
assert result.stdout == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT_ortho_1x1(KC_A)};\n\n'
|
assert result.stdout == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT_ortho_1x1(KC_A)};\n\n\n'
|
||||||
|
|
||||||
|
|
||||||
def test_json2c_macros():
|
def test_json2c_macros():
|
||||||
|
@ -158,7 +158,7 @@ def test_json2c_macros():
|
||||||
def test_json2c_stdin():
|
def test_json2c_stdin():
|
||||||
result = check_subcommand_stdin('keyboards/handwired/pytest/has_template/keymaps/default_json/keymap.json', 'json2c', '-')
|
result = check_subcommand_stdin('keyboards/handwired/pytest/has_template/keymaps/default_json/keymap.json', 'json2c', '-')
|
||||||
check_returncode(result)
|
check_returncode(result)
|
||||||
assert result.stdout == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT_ortho_1x1(KC_A)};\n\n'
|
assert result.stdout == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT_ortho_1x1(KC_A)};\n\n\n'
|
||||||
|
|
||||||
|
|
||||||
def test_json2c_wrong_json():
|
def test_json2c_wrong_json():
|
||||||
|
|
Loading…
Reference in New Issue