|
|
@@ -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)
|