U
    ­% Y¶  ã                   @   s0   d dl mZ d dlmZmZ G dd„ deƒZdS )é    )Ústandard_b64encode)Úconvert_to_stringÚconvert_to_bytesc                   @   sˆ   e Zd Zddd„Zedd„ ƒZedd„ ƒZedd	„ ƒZed
d„ ƒZej	dd„ ƒZej	dd	„ ƒZej	dd„ ƒZdd„ Z
dd„ Zdd„ ZdS )ÚCaveatNc                 C   s4   ddl m} || _|| _|| _|d kr*|}|| _d S ©Nr   )ÚMACAROON_V1)Úpymacaroons.macaroonr   Ú	caveat_idÚverification_key_idÚlocationÚ_version)Úselfr	   r
   r   Úversionr   © r   ú4/usr/lib/python3/dist-packages/pymacaroons/caveat.pyÚ__init__   s    zCaveat.__init__c                 C   s&   ddl m} | j|kr t| jƒS | jS r   )r   r   r   r   Ú
_caveat_id)r   r   r   r   r   r	      s    

zCaveat.caveat_idc                 C   s   | j S ©N)r   ©r   r   r   r   Úcaveat_id_bytes   s    zCaveat.caveat_id_bytesc                 C   s   | j S r   ©Ú_verification_key_idr   r   r   r   r
       s    zCaveat.verification_key_idc                 C   s
   t | jƒS r   )r   Ú	_locationr   r   r   r   r   $   s    zCaveat.locationc                 C   s   t |ƒ| _d S r   )r   r   ©r   Úvaluer   r   r   r	   (   s    c                 C   s   t |ƒ| _d S r   )r   r   r   r   r   r   r
   ,   s    c                 C   s   t |ƒ| _d S r   )r   r   r   r   r   r   r   0   s    c                 C   s
   | j d kS r   r   r   r   r   r   Úfirst_party4   s    zCaveat.first_partyc                 C   s
   | j d k	S r   r   r   r   r   r   Úthird_party7   s    zCaveat.third_partyc                 C   sP   zt | jƒ}W n" tk
r0   t t| jƒƒ}Y nX || jrDt| jƒnd | jdœS )N)ÚcidZvidZcl)r   r	   ÚUnicodeEncodeErrorr   r   r
   r   )r   r   r   r   r   Úto_dict:   s    ÿúzCaveat.to_dict)NNNN)Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr	   r   r
   r   Úsetterr   r   r   r   r   r   r   r      s,       ü







r   N)Úbase64r   Zpymacaroons.utilsr   r   Úobjectr   r   r   r   r   Ú<module>   s   