o
    .&ßaå  ã                   @   sd   d dl Z d dlmZ dZdZddddœZd	d
„ ZG dd„ deƒZG dd„ deƒZ	dd„ Z
dd„ ZdS )é    N)ÚCustomArgumentzŠ<p>The content of the image to be uploaded. To specify the content of a local file use the fileb:// prefix. Example: fileb://image.png</p>z=<p>To specify a local file use <code>--%s</code> instead.</p>zsource-image-bytesztarget-image-byteszimage-bytes)zcompare-faces.source-imagezcompare-faces.target-imagez*.imagec                 C   s<   t  ¡ D ]\}}| dd¡\}}|  d| t||ƒ¡ qd S )NÚ.é   z&building-argument-table.rekognition.%s)ÚFILE_PARAMETER_UPDATESÚitemsÚrsplitÚregisterÚImageArgUpdater)ÚcliÚtargetÚ	new_paramÚ	operationÚ	old_param© r   úC/usr/lib/python3/dist-packages/awscli/customizations/rekognition.pyÚ"register_rekognition_detect_labels!   s   
ÿþr   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
r	   c                 C   s   || _ || _d S ©N)Ú_source_paramÚ
_new_param)ÚselfÚsource_paramr   r   r   r   Ú__init__)   s   
zImageArgUpdater.__init__c                 K   s$   |   |¡sd S |  || j| j¡ d S r   )Ú_valid_targetÚ_update_paramr   r   )r   ÚsessionÚargument_tableÚkwargsr   r   r   Ú__call__-   s
   

ÿzImageArgUpdater.__call__c                 C   s@   | j |v r|| j  }|j}|j d¡}|d ur|jdkrdS dS )NÚBytesÚblobTF)r   Úargument_modelÚmembersÚgetÚ	type_name)r   r   ÚparamÚinput_modelÚbytes_memberr   r   r   r   3   s   

zImageArgUpdater._valid_targetc                 C   s<   t ||tdd�||< d|| _t| }||  j|7  _d S )Nr   )Ú	help_textÚcli_type_nameF)ÚImageArgumentÚIMAGE_FILE_DOCSTRINGÚrequiredÚIMAGE_DOCSTRING_ADDENDUMÚdocumentation)r   r   r   r   Údoc_addendumr   r   r   r   ?   s   
þ
zImageArgUpdater._update_paramN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r	   (   s
    r	   c                       s$   e Zd Z‡ fdd„Zdd„ Z‡  ZS )r)   c                    s&   t t| ƒj|fi |¤Ž t|ƒ| _d S r   )Úsuperr)   r   Úreverse_xform_nameÚ_parameter_to_overwrite)r   Únamer   r   ©Ú	__class__r   r   r   I   s   zImageArgument.__init__c                 C   sB   |d u rd S d|i}|  | j¡r|| j  |¡ d S ||| j< d S )Nr   )r"   r4   Úupdate)r   Ú
parametersÚvalueÚimage_file_paramr   r   r   Úadd_to_paramsM   s   zImageArgument.add_to_params)r/   r0   r1   r   r<   Ú__classcell__r   r   r6   r   r)   H   s    r)   c                 C   s   |   d¡ d¡ ¡ S )Nr   ú-)ÚgroupÚlstripÚupper)Úmatchr   r   r   Ú_upperW   s   rC   c                 C   s   t  dt| ¡S )Nz(^.|-.))ÚreÚsubrC   )r5   r   r   r   r3   [   s   r3   )rD   Úawscli.argumentsr   r*   r,   r   r   Úobjectr	   r)   rC   r3   r   r   r   r   Ú<module>   s   ý 