U á€C^²ã@sLddlmZddlZedd„ƒZdd„ZGdd„deƒZGd d „d eƒZdS) é)ÚcontextmanagerNcgs$z dVWn|k rYnXdS©N©)Ú exceptionsrrú,/tmp/pip-install-6_kvzl1k/s3fs/s3fs/utils.pyÚignorings rcCsd dd„| d¡Dƒ¡S)zl TitleCases a given string. Parameters ---------- string : underscore separated string Úcss|]}| ¡VqdSr)Ú capitalize)Ú.0ÚxrrrÚ sztitle_case..Ú_)ÚjoinÚsplit)ÚstringrrrÚ title_case src@s,eZdZdZiZdd„Zdd„Zdd„ZdS) ÚParamKwargsHelperzœ Utility class to help extract the subset of keys that an s3 method is actually using Parameters ---------- s3 : boto S3FileSystem cCs ||_dSr)Ús3)ÚselfrrrrÚ__init__#szParamKwargsHelper.__init__cCs>||jkr4|jjj |¡}t|jj ¡ƒ}||j|<|j|Sr) Ú _kwarg_cacherÚmetaZ service_modelZoperation_modelÚsetZ input_shapeÚmembersÚkeys)rÚ model_nameÚmodelÚ valid_keysrrrÚ_get_valid_keys&s   z!ParamKwargsHelper._get_valid_keyscs:t|ƒ}| |¡‰t|tƒr$| ¡}‡fdd„| ¡DƒS)Ncsi|]\}}|ˆkr||“qSrr©r ÚkÚv©rrrÚ 2sz1ParamKwargsHelper.filter_dict..)rrÚ isinstanceÚ SSEParamsÚ to_kwargsÚitems)rÚ method_nameÚdrrr"rÚ filter_dict-s   zParamKwargsHelper.filter_dictN)Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrr*rrrrrs rc@seZdZddd„Zdd„ZdS)r%NcCs||_||_||_||_dSr)ZServerSideEncryptionZSSECustomerAlgorithmZSSECustomerKeyZ SSEKMSKeyId)rZserver_side_encryptionZsse_customer_algorithmZsse_customer_keyZsse_kms_key_idrrrr7szSSEParams.__init__cCsdd„|j ¡DƒS)NcSsi|]\}}|dk r||“qSrrrrrrr#?sz'SSEParams.to_kwargs..)Ú__dict__r')rrrrr&>szSSEParams.to_kwargs)NNNN)r+r,r-rr&rrrrr%5s ÿ r%)Ú contextlibrÚsysrrÚobjectrr%rrrrÚs