1
0
Fork 0

[CLI] Add common util for dumping generated content (#16674)

This commit is contained in:
Joel Challis 2022-03-18 01:09:29 +00:00 committed by GitHub
parent 417f089115
commit e5823b5650
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 132 additions and 116 deletions

View file

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