summaryrefslogtreecommitdiff
path: root/lib/python/qmk/cli/json2c.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/qmk/cli/json2c.py')
-rwxr-xr-xlib/python/qmk/cli/json2c.py19
1 files changed, 3 insertions, 16 deletions
diff --git a/lib/python/qmk/cli/json2c.py b/lib/python/qmk/cli/json2c.py
index 2873a9bfd3..a2db314947 100755
--- a/lib/python/qmk/cli/json2c.py
+++ b/lib/python/qmk/cli/json2c.py
@@ -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)