|
|
@ -5,7 +5,7 @@ from milc import cli |
|
|
|
|
|
|
|
import qmk.keymap |
|
|
|
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') |
|
|
@ -21,21 +21,8 @@ def json2c(cli): |
|
|
|
# Parse the configurator from json file (or stdin) |
|
|
|
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 |
|
|
|
keymap_c = qmk.keymap.generate_c(user_keymap) |
|
|
|
|
|
|
|
if cli.args.output: |
|
|
|
cli.args.output.parent.mkdir(parents=True, exist_ok=True) |
|
|
|
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) |
|
|
|
# Show the results |
|
|
|
dump_lines(cli.args.output, keymap_c.split('\n'), cli.args.quiet) |