U
    W¨+d6  ã                   @   sR   d Z ddlmZ ddlZddlmZ ddlm  m	Z	 dd„ Z
G dd„ deƒZdS )	zGWraps layer1 api methods and converts layer1 dict responses to objects.é    )ÚLayer1N)ÚBotoServerErrorc                    s   ‡ ‡fdd„}|S )Nc               
      sp   zˆ | |Ž}W n, t k
r: } zt |¡‚W 5 d }~X Y nX d dd„ ˆ d¡D ƒ¡d }ttjj|ƒ}||ƒS )NÚ c                 S   s   g | ]}|  ¡ ‘qS © )Ú
capitalize)Ú.0Úpartr   r   ú:/tmp/pip-unpacked-wheel-dlxw5sjy/boto/beanstalk/wrapper.pyÚ
<listcomp>   s     zEbeanstalk_wrapper.<locals>._wrapped_low_level_api.<locals>.<listcomp>Ú_ÚResponse)	r   Ú	exceptionÚsimpleÚjoinÚsplitÚgetattrÚbotoÚ	beanstalkÚresponse)ÚargsÚkwargsr   ÚeZcls_nameÚcls©ÚfuncÚnamer   r	   Ú_wrapped_low_level_api	   s    z1beanstalk_wrapper.<locals>._wrapped_low_level_apir   )r   r   r   r   r   r	   Úbeanstalk_wrapper   s    	r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚLayer1Wrapperc                 O   s   t ||Ž| _d S )N)r   Úapi)Úselfr   r   r   r   r	   Ú__init__   s    zLayer1Wrapper.__init__c                 C   s>   zt t| j|ƒ|ƒW S  tk
r8   td| |f ƒ‚Y nX d S )Nz%s has no attribute %r)r   r   r   ÚAttributeError)r    r   r   r   r	   Ú__getattr__   s    zLayer1Wrapper.__getattr__N)Ú__name__Ú
__module__Ú__qualname__r!   r#   r   r   r   r	   r      s   r   )Ú__doc__Zboto.beanstalk.layer1r   Zboto.beanstalk.responser   Zboto.exceptionr   Zboto.beanstalk.exceptionr   r   r   Úobjectr   r   r   r   r	   Ú<module>   s   