diff options
author | Joel Challis <[email protected]> | 2021-02-07 21:02:51 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-02-07 21:02:51 +0000 |
commit | ccc9c43161282bd6f37813cc85c13da1eb51b88d (patch) | |
tree | 92fc97bb2489ba92e2ab95597e4e88c7fcd8bbb9 /lib/python/qmk/cli/json2c.py | |
parent | fc29c7a589837c2d1e4173d59d2849f89d3cb72b (diff) | |
download | qmk_firmware-ccc9c43161282bd6f37813cc85c13da1eb51b88d.tar.gz qmk_firmware-ccc9c43161282bd6f37813cc85c13da1eb51b88d.zip |
Allow flash/compile to accept relative json paths (#11767)
* Allow flash/compile to accept relative paths
* Review suggestions
* Review comments
* Put back exists check otherwise stdin fails
* fix lint
Diffstat (limited to 'lib/python/qmk/cli/json2c.py')
-rwxr-xr-x | lib/python/qmk/cli/json2c.py | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/lib/python/qmk/cli/json2c.py b/lib/python/qmk/cli/json2c.py index 97d8fb0c33..e7babc0e4c 100755 --- a/lib/python/qmk/cli/json2c.py +++ b/lib/python/qmk/cli/json2c.py @@ -1,7 +1,6 @@ """Generate a keymap.c from a configurator export. """ import json -import sys from milc import cli @@ -11,7 +10,7 @@ import qmk.path @cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") [email protected]('filename', type=qmk.path.normpath, arg_only=True, help='Configurator JSON file') [email protected]('filename', type=qmk.path.FileType('r'), arg_only=True, help='Configurator JSON file') @cli.subcommand('Creates a keymap.c from a QMK Configurator export.') def json2c(cli): """Generate a keymap.c from a configurator export. @@ -20,19 +19,8 @@ def json2c(cli): """ try: - # Parse the configurator from stdin - if cli.args.filename and cli.args.filename.name == '-': - user_keymap = json.load(sys.stdin) - - else: - # Error checking - if not cli.args.filename.exists(): - cli.log.error('JSON file does not exist!') - return False - - # Parse the configurator json file - else: - user_keymap = json.loads(cli.args.filename.read_text()) + # Parse the configurator from json file (or stdin) + user_keymap = json.load(cli.args.filename) except json.decoder.JSONDecodeError as ex: cli.log.error('The JSON input does not appear to be valid.') |