
    7j^	                     H   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZ ddlmZ ddlmZ dd	lmZmZ  ej&                  d
dded       ej&                  ddddd       ej&                  dded       ej(                  dd      ed                                    Zy)zCUsed by the make system to generate LUFA Keyboard.h from info.json
    )dotty)cli)automagic_keyboard)	info_json)is_keyboardnormpath)keyboard_completer)
dump_lines)GPL2_HEADER_C_LIKEGENERATED_HEADER_C_LIKEz-oz--outputTzFile to write to)arg_onlytypehelpz-qz--quiet
store_truez&Quiet mode, only output error messages)r   actionr   z-kbz
--keyboardz)Keyboard to generate LUFA Keyboard.h for.)	completerr   zBUsed by the make system to generate LUFA Keyboard.h from info.json)hiddenc                    | j                   j                  j                  s9| j                  j	                  d       | j
                  d   j                          yt        | j                   j                  j                        s;| j                  j	                  d| j                   j                  j                         yt        t        | j                   j                  j                              }t        t        dg}|j                  d|d    d       |j                  d	|d
    d       d|v r|j                  d|d           d|v r|j                  d|d           d|v r|j                  d|d           d|v r|j                  d|d           t        | j                  j                  || j                  j                          y)z#Generates the Keyboard.h file.
    zMissing parameter: --keyboardinfoFzInvalid keyboard: "%s"z#pragma oncez#define MANUFACTURER "manufacturer"z#define PRODUCT "keyboard_namez Bootloader"zqmk_lufa_bootloader.esc_outputz#define QMK_ESC_OUTPUT zqmk_lufa_bootloader.esc_inputz#define QMK_ESC_INPUT zqmk_lufa_bootloader.ledz#define QMK_LED zqmk_lufa_bootloader.speakerz#define QMK_SPEAKER N)configgenerate_dfu_headerkeyboardlogerrorsubcommands
print_helpr   r   r   r   r   appendr
   argsoutputquiet)r   kb_info_jsonkeyboard_h_liness      T/home/hanthebot/chat/keyboard/qmk_firmware/lib/python/qmk/cli/generate/dfu_header.pyr   r      s    ::))2256**,szz55>>?.

0N0N0W0WX 3::#A#A#J#JKLL*,C^T4\.5Q4RRSTU/_0M/Nl[\ (<7"9,Gg:h9i jk&,6"8Fe9f8g hi L0"2<@Y3Z2[ \]$4"6|Da7b6c de sxx 0#((..A    N)__doc__
dotty_dictr   milcr   qmk.decoratorsr   qmk.infor   qmk.pathr   r   qmk.keyboardr	   qmk.commandsr
   qmk.constantsr   r   argument
subcommandr    r'   r&   <module>r4      s      -  * + # E dJHCUVdI\Hpqe\-?FqrT]abB  c s r W
Br'   