[CLI] Add common util for dumping generated content (#16674)
This commit is contained in:
parent
417f089115
commit
e5823b5650
8 changed files with 132 additions and 116 deletions
|
@ -2,11 +2,12 @@
|
|||
"""
|
||||
from milc import cli
|
||||
|
||||
from qmk.constants import COL_LETTERS, ROW_LETTERS
|
||||
from qmk.constants import COL_LETTERS, ROW_LETTERS, GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE
|
||||
from qmk.decorators import automagic_keyboard, automagic_keymap
|
||||
from qmk.info import info_json
|
||||
from qmk.keyboard import keyboard_completer, keyboard_folder
|
||||
from qmk.path import is_keyboard, normpath
|
||||
from qmk.commands import dump_lines
|
||||
|
||||
usb_properties = {
|
||||
'vid': 'VENDOR_ID',
|
||||
|
@ -38,7 +39,7 @@ def generate_layouts(cli):
|
|||
kb_info_json = info_json(cli.config.generate_layouts.keyboard)
|
||||
|
||||
# Build the layouts.h file.
|
||||
layouts_h_lines = ['/* This file was generated by `qmk generate-layouts`. Do not edit or copy.', ' */', '', '#pragma once']
|
||||
layouts_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once']
|
||||
|
||||
if 'matrix_size' not in kb_info_json:
|
||||
cli.log.error('%s: Invalid matrix config.', cli.config.generate_layouts.keyboard)
|
||||
|
@ -86,16 +87,4 @@ def generate_layouts(cli):
|
|||
layouts_h_lines.append('#endif')
|
||||
|
||||
# Show the results
|
||||
layouts_h = '\n'.join(layouts_h_lines) + '\n'
|
||||
|
||||
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(layouts_h)
|
||||
|
||||
if not cli.args.quiet:
|
||||
cli.log.info('Wrote info_config.h to %s.', cli.args.output)
|
||||
|
||||
else:
|
||||
print(layouts_h)
|
||||
dump_lines(cli.args.output, layouts_h_lines, cli.args.quiet)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue