
    7j[              
          d Z ddlZddlmZ ddlmZmZ ddlmZ  ej                  dddd	g d
 e        d       ej                  dddd	g d       ej                  dde
dd       ej                  d      d                             Zy)zQCommand to search through all keyboards and keymaps for a given search criteria.
    N)cli)filter_helpsearch_keymap_targets)maybe_exit_configz-fz--filterTappendzFilter the list of keyboards based on their info.json data. Accepts the formats key=value, function(key), or function(key,value), eg. 'features.rgblight=true'. Valid functions are zk. May be passed multiple times; all filters need to match. Value may include wildcards such as '*' and '?'.)arg_onlyactiondefaulthelpz-pz--printzeFor each matched target, print the value of the supplied info.json key. May be passed multiple times.z-kmz--keymapr
   z/The keymap name to build. Default is 'default'.)typer
   r   z1Find builds which match supplied search criteria.c                    t         j                  j                  dd       t        dd       t	        d| j
                  j                  j                  fg| j                  j                        }t        |d       D ]T  }t        |        | j                  j                  D ]-  }t        d	| d
|j                  j                  |d              / V y)zJSearch through all keyboards and keymaps for a given search criteria.
    SKIP_SCHEMA_VALIDATION1FT)should_exitshould_reraiseallc                 2    | j                   | j                  fS )N)keyboardkeymap)ts    E/home/hanthebot/chat/keyboard/qmk_firmware/lib/python/qmk/cli/find.py<lambda>zfind.<locals>.<lambda>   s    QXX0F     )keyz    =N)osenviron
setdefaultr   r   configfindr   argsfiltersortedprintdottyget)r   targetstargetr   s       r   r    r    	   s     JJ2C8%=#eSZZ__-C-C%D$EsxxWG&FG >88>> 	>CDQv||//T:;<=	>>r   )__doc__r   milcr   
qmk.searchr   r   qmk.utilr   argumentstr
subcommandr     r   r   <module>r1      s    	  9 &  {  |G  |I  {J  Ju  v dIXr  Qx  yeZc9CtuCD> E v y>r   