o
    f                     @   s   g Z d dlZd dlZd dlZd dlmZ d dlmZ d dlZej	dk r(dd Z
nej
Z
G dd dZG d	d
 d
eZG dd deZe Ze Ze ddg7 Z ejZeejZejZdejv ZejZe g d7 Z eZ	 eZdS )    N)Path)MappingProxyType)      c                 C   s   t tjdd| S )N   )maxsize)property	functools	lru_cache)func r   J/home/ubuntu/webapp/venv/lib/python3.10/site-packages/pypdfium2/version.pycached_property      r   c                   @   sd   e Zd Zedd Zdd Zdd Zdd Zd	d
 Zedd Z	dd Z
g fddZedd ZdS )_abc_versionc                 C   sH   t | jd}t|}W d    n1 sw   Y  | | t|S )Nr)open_FILEjsonload_process_datar   )selfbufdatar   r   r   _data   s
   
z_abc_version._datac                 C   s   d S Nr   r   r   r   r   r   r      s   z_abc_version._process_datac                 C   s
   | j | S r   r   )r   attrr   r   r   __getattr__"   s   
z_abc_version.__getattr__c                 C   s   t d| d| d)Nz)Version class is immutable - assignment 'z = z' not allowed)AttributeError)r   namevaluer   r   r   __setattr__%      z_abc_version.__setattr__c                 C   s   | j S r   )versionr   r   r   r   __repr__(   s   z_abc_version.__repr__c                    s   t  fdd jD S )Nc                 3   s    | ]} j | V  qd S r   r   ).0kr&   r   r   	<genexpr>-   s    z'_abc_version.api_tag.<locals>.<genexpr>)tuple_TAG_FIELDSr&   r   r&   r   api_tag+   s   z_abc_version.api_tagc                 C   s   d dd | jD S )N.c                 s   s    | ]}t |V  qd S r   )str)r(   vr   r   r   r*   0   s    z*_abc_version._craft_tag.<locals>.<genexpr>)joinr-   r&   r   r   r   
_craft_tag/   r$   z_abc_version._craft_tagc                 C   sL   g }| j dkr|t| j t| jg7 }||7 }d}|r$|dd| 7 }|S )Nr    +r.   )	n_commitsr/   hashr1   )r   extra	local_verdescr   r   r   _craft_desc2   s   
z_abc_version._craft_descc                 C   s   | j | j S r   )tagr9   r&   r   r   r   r%   >   s   z_abc_version.versionN)__name__
__module____qualname__r   r   r   r   r#   r'   r-   r2   r:   r%   r   r   r   r   r      s    

r   c                   @   s6   e Zd Zeejd ZdZedd Z	edd Z
dS )_version_pypdfium2version.json)majorminorpatchc                 C   s&   |   }| jd ur|d| j 7 }|S )Nb)r2   beta)r   r;   r   r   r   r;   H   s   
z_version_pypdfium2.tagc                 C   sJ   g }| j r
|dg7 }| |}| jdkr|d| j 7 }| jr#|d7 }|S )Ndirtygit:z	@editable)rF   r:   data_sourceis_editable)r   r7   r9   r   r   r   r9   O   s   


z_version_pypdfium2.descN)r<   r=   r>   r   __file__parentr   r,   r   r;   r9   r   r   r   r   r?   C   s    
r?   c                   @   s@   e Zd Zeejjd ZdZdd Z	e
dd Ze
dd Zd	S )
_version_pdfiumr@   )rA   rB   buildrC   c                 C   s   t |d |d< d S )Nflags)r+   r   r   r   r   r   d   r   z_version_pdfium._process_datac                 C   s   |   S r   )r2   r&   r   r   r   r;   g   s   z_version_pdfium.tagc                 C   s@   |   }| jr|dd| j 7 }| jdkr|d| j 7 }|S )Nz:{%s},zpdfium-binaries@)r:   rO   r1   origin)r   r9   r   r   r   r9   k   s   
z_version_pdfium.descN)r<   r=   r>   r   pypdfium2_rawrK   rL   r   r,   r   r   r;   r9   r   r   r   r   rM   _   s    
rM   PYPDFIUM_INFOPDFIUM_INFOV8)V_PYPDFIUM2V_LIBPDFIUMV_LIBPDFIUM_FULLV_BUILDNAMEV_PDFIUM_IS_V8)__all__sysr   r	   pathlibr   typesr   rS   version_infor   r   r?   rM   rT   rU   r%   rW   r/   rN   rX   rR   rZ   rO   r[   rY   r   r   r   r   <module>   s4   

-

'