forked from mfulz_github/qmk_firmware
		
	Rename qmk json-keymap to qmk json2c (#8372)
This commit is contained in:
		
							parent
							
								
									1aa40dde46
								
							
						
					
					
						commit
						2a05d433c9
					
				| @ -23,4 +23,4 @@ endif | ||||
| 
 | ||||
| # Generate the keymap.c
 | ||||
| $(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) | ||||
| 	bin/qmk json-keymap --quiet --output $(KEYMAP_C) $(KEYMAP_JSON) | ||||
| 	bin/qmk json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON) | ||||
|  | ||||
| @ -231,14 +231,14 @@ Check your environment and report problems only: | ||||
| 
 | ||||
|     qmk doctor -n | ||||
| 
 | ||||
| ## `qmk json-keymap` | ||||
| ## `qmk json2c` | ||||
| 
 | ||||
| Creates a keymap.c from a QMK Configurator export. | ||||
| 
 | ||||
| **Usage**: | ||||
| 
 | ||||
| ``` | ||||
| qmk json-keymap [-o OUTPUT] filename | ||||
| qmk json2c [-o OUTPUT] filename | ||||
| ``` | ||||
| 
 | ||||
| ## `qmk kle2json` | ||||
|  | ||||
| @ -215,14 +215,14 @@ qmk doctor [-y] [-n] | ||||
| 
 | ||||
|     qmk doctor -n | ||||
| 
 | ||||
| ## `qmk json-keymap` | ||||
| ## `qmk json2c` | ||||
| 
 | ||||
| QMK Configurator からエクスポートしたものから keymap.c を生成します。 | ||||
| 
 | ||||
| **使用法**: | ||||
| 
 | ||||
| ``` | ||||
| qmk json-keymap [-o OUTPUT] filename | ||||
| qmk json2c [-o OUTPUT] filename | ||||
| ``` | ||||
| 
 | ||||
| ## `qmk kle2json` | ||||
|  | ||||
| @ -10,6 +10,7 @@ from . import doctor | ||||
| from . import flash | ||||
| from . import hello | ||||
| from . import json | ||||
| from . import json2c | ||||
| from . import list | ||||
| from . import kle2json | ||||
| from . import new | ||||
|  | ||||
| @ -1,56 +1,16 @@ | ||||
| """Generate a keymap.c from a configurator export. | ||||
| """ | ||||
| import json | ||||
| from pathlib import Path | ||||
| 
 | ||||
| from milc import cli | ||||
| 
 | ||||
| import qmk.keymap | ||||
| import qmk.path | ||||
| 
 | ||||
| 
 | ||||
| @cli.argument('-o', '--output', arg_only=True, type=Path, help='File to write to') | ||||
| @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") | ||||
| @cli.argument('filename', arg_only=True, help='Configurator JSON file') | ||||
| @cli.subcommand('Creates a keymap.c from a QMK Configurator export.') | ||||
| def json_keymap(cli): | ||||
|     """Generate a keymap.c from a configurator export. | ||||
| 
 | ||||
|     This command uses the `qmk.keymap` module to generate a keymap.c from a configurator export. The generated keymap is written to stdout, or to a file if -o is provided. | ||||
|     """Renamed to `qmk json2c`. | ||||
|     """ | ||||
|     cli.args.filename = qmk.path.normpath(cli.args.filename) | ||||
| 
 | ||||
|     # Error checking | ||||
|     if not cli.args.filename.exists(): | ||||
|         cli.log.error('JSON file does not exist!') | ||||
|         cli.print_usage() | ||||
|     cli.log.error('This command has been renamed to `qmk json2c`.') | ||||
|     exit(1) | ||||
| 
 | ||||
|     if str(cli.args.filename) == '-': | ||||
|         # TODO(skullydazed/anyone): Read file contents from STDIN | ||||
|         cli.log.error('Reading from STDIN is not (yet) supported.') | ||||
|         cli.print_usage() | ||||
|         exit(1) | ||||
| 
 | ||||
|     # Environment processing | ||||
|     if cli.args.output == ('-'): | ||||
|         cli.args.output = None | ||||
| 
 | ||||
|     # Parse the configurator json | ||||
|     with cli.args.filename.open('r') as fd: | ||||
|         user_keymap = json.load(fd) | ||||
| 
 | ||||
|     # Generate the keymap | ||||
|     keymap_c = qmk.keymap.generate(user_keymap['keyboard'], user_keymap['layout'], user_keymap['layers']) | ||||
| 
 | ||||
|     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.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) | ||||
|  | ||||
							
								
								
									
										56
									
								
								lib/python/qmk/cli/json2c.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										56
									
								
								lib/python/qmk/cli/json2c.py
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,56 @@ | ||||
| """Generate a keymap.c from a configurator export. | ||||
| """ | ||||
| import json | ||||
| from pathlib import Path | ||||
| 
 | ||||
| from milc import cli | ||||
| 
 | ||||
| import qmk.keymap | ||||
| import qmk.path | ||||
| 
 | ||||
| 
 | ||||
| @cli.argument('-o', '--output', arg_only=True, type=Path, help='File to write to') | ||||
| @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") | ||||
| @cli.argument('filename', 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. | ||||
| 
 | ||||
|     This command uses the `qmk.keymap` module to generate a keymap.c from a configurator export. The generated keymap is written to stdout, or to a file if -o is provided. | ||||
|     """ | ||||
|     cli.args.filename = qmk.path.normpath(cli.args.filename) | ||||
| 
 | ||||
|     # Error checking | ||||
|     if not cli.args.filename.exists(): | ||||
|         cli.log.error('JSON file does not exist!') | ||||
|         cli.print_usage() | ||||
|         exit(1) | ||||
| 
 | ||||
|     if str(cli.args.filename) == '-': | ||||
|         # TODO(skullydazed/anyone): Read file contents from STDIN | ||||
|         cli.log.error('Reading from STDIN is not (yet) supported.') | ||||
|         cli.print_usage() | ||||
|         exit(1) | ||||
| 
 | ||||
|     # Environment processing | ||||
|     if cli.args.output == ('-'): | ||||
|         cli.args.output = None | ||||
| 
 | ||||
|     # Parse the configurator json | ||||
|     with cli.args.filename.open('r') as fd: | ||||
|         user_keymap = json.load(fd) | ||||
| 
 | ||||
|     # Generate the keymap | ||||
|     keymap_c = qmk.keymap.generate(user_keymap['keyboard'], user_keymap['layout'], user_keymap['layers']) | ||||
| 
 | ||||
|     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.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) | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 skullydazed
						skullydazed