o
    Ü!dŽ  ã                   @   s  d dl Z d dlmZmZ d dlmZ e  e¡Ze	e
e	e
dœZdd„ Zdded	d
d
ifdd
difgƒdœiddedd
d
ifdd
difdddedœfddedœfddedœfddedœfddedœfdddedœfd d!edœfd"d#edœfg
ƒdœid$œZd%d&„ ZdS )'é    N)ÚFlattenArgumentsÚSEP)ÚOrderedDict)ZIntÚDoubleZIntArrayZDoubleArrayc                 C   s¾   d| vri | d< d| d vrt dƒ‚| d d }d dd„ | d¡D ƒ¡}|dkr+d	}| t¡d
 dkr>t |dd„ ¡|ƒ}|d | d vrNi | d |d < || d |d  | t¡d
 < dS )zè
    Hydrate an index-field option value to construct something like::

        {
            'index_field': {
                'DoubleOptions': {
                    'DefaultValue': 0.0
                }
            }
        }
    Z
IndexFieldÚIndexFieldTypez You must pass the --type option.Ú c                 S   s   g | ]}|  ¡ ‘qS © )Ú
capitalize)Ú.0Úir   r   úEusr/lib/python3.10/site-packages/awscli/customizations/cloudsearch.pyÚ
<listcomp>2   s    z!index_hydrate.<locals>.<listcomp>ú-ZLatlonZLatLonéÿÿÿÿZDefaultValuec                 S   s   | S )Nr   )Úxr   r   r   Ú<lambda><   s    zindex_hydrate.<locals>.<lambda>ZOptionsN)ÚRuntimeErrorÚjoinÚsplitr   ÚDEFAULT_VALUE_TYPE_MAPÚget)ÚparamsÚ	containerZcli_typeÚkeyÚvalueZ_typer   r   r   Úindex_hydrate   s   "r   Z
expressionFZExpressionNameÚnameZExpressionValue)ZkeepÚflattenzindex-fieldZIndexFieldNamer   ÚtypezIntOptions.DefaultValuezdefault-valueÚstring)r   r   ÚhydratezIntOptions.FacetEnabledzfacet-enabled)r   r    zIntOptions.SearchEnabledzsearch-enabledzIntOptions.ReturnEnabledzreturn-enabledzIntOptions.SortEnabledzsort-enabledzIntOptions.SourceFieldzsource-fieldzTextOptions.HighlightEnabledzhighlight-enabledzTextOptions.AnalysisSchemezanalysis-scheme)zdefine-expressionzdefine-index-fieldc                 C   s   t dtƒ}| | ¡ dS )z9
    The entry point for CloudSearch customizations.
    ZcloudsearchN)r   ÚFLATTEN_CONFIGÚregister)ÚcliZ	flattenedr   r   r   Ú
initializer   s   
r$   )ÚloggingZawscli.customizations.flattenr   r   Zbotocore.compatr   Ú	getLoggerÚ__name__ZLOGÚintÚfloatr   r   r!   r$   r   r   r   r   Ú<module>   sl   
ü*

úþÿ

þÿÿÿÿþÿÿíüÿó-