o
    %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 u 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      | j S N)r   r   r   r   r   caveat_id_bytes      zCaveat.caveat_id_bytesc                 C   r   r   _verification_key_idr   r   r   r   r
       r   zCaveat.verification_key_idc                 C   s
   t | jS r   )r   	_locationr   r   r   r   r   $   s   
zCaveat.locationc                 C      t || _d S r   )r   r   r   valuer   r   r   r	   (      c                 C   r   r   )r   r   r   r   r   r   r
   ,   r   c                 C   r   r   )r   r   r   r   r   r   r   0   r   c                 C   s
   | j d u S r   r   r   r   r   r   first_party4      
zCaveat.first_partyc                 C   s
   | j d uS r   r   r   r   r   r   third_party7   r    zCaveat.third_partyc                 C   sN   zt | j}W n ty   t t| j}Y nw || jr!t| 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    