3
ญ% 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 )Nr   )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 )N)ฺ_verification_key_id)r   r   r   r   r	       s    zCaveat.verification_key_idc             C   s
   t | jS )N)r   ฺ	_location)r   r   r   r   r
   $   s    zCaveat.locationc             C   s   t || _d S )N)r   r   )r   ฺvaluer   r   r   r   (   s    c             C   s   t || _d S )N)r   r   )r   r   r   r   r   r	   ,   s    c             C   s   t || _d S )N)r   r   )r   r   r   r   r   r
   0   s    c             C   s
   | j d kS )N)r   )r   r   r   r   ฺfirst_party4   s    zCaveat.first_partyc             C   s
   | j d k	S )N)r   )r   r   r   r   ฺthird_party7   s    zCaveat.third_partyc             C   sP   y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   