o
    Uh#                     @  sd   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 G dd deZ
G dd	 d	eZdd	gZd
S )z&Application data stored by virtualenv.    )annotations)ABCabstractmethod)contextmanager)	IS_ZIPAPPc                   @  s   e Zd ZdZedd Zedd Zedd Zedd	 Ze	d
d Z
edd Ze	dd Ze	dd Zedd ZedddZeedd Zeedd ZdS )AppDataz:Abstract storage interface for the virtualenv application.c                 C     dS )zCalled before virtualenv exits.N selfr	   r	   l/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/virtualenv/app_data/base.pyclose       zAppData.closec                 C  r   )z2Called when the user passes in the reset app data.Nr	   r
   r	   r	   r   reset   r   zAppData.resetc                 C     t NNotImplementedErrorr   pathr	   r	   r   py_info      zAppData.py_infoc                 C  r   r   r   r
   r	   r	   r   py_info_clear   r   zAppData.py_info_clearc                 C  r   r   r   r
   r	   r	   r   
can_update   r   zAppData.can_updatec                 C  r   r   r   )r   distributionfor_py_versionr	   r	   r   embed_update_log"   r   zAppData.embed_update_logc                 C  r   r   r   r
   r	   r	   r   house&   r   zAppData.housec                 C  r   r   r   r
   r	   r	   r   	transient*   r   zAppData.transientc                 C  r   r   r   )r   r   namer	   r	   r   wheel_image.   r   zAppData.wheel_imageNc                 c  sH    t r| ||}|V  W d   dS 1 sw   Y  dS |V  dS )zISome paths might be within the zipapp, unzip these to a path on the disk.N)r   extract)r   r   	to_folderresultr	   r	   r   ensure_extracted2   s   "
zAppData.ensure_extractedc                 C  r   r   r   )r   r   r"   r	   r	   r   r!   ;      zAppData.extractc                 C  r   r   r   r   r	   r	   r   locked@   r%   zAppData.lockedr   )__name__
__module____qualname____doc__r   r   r   r   r   propertyr   r   r   r   r    r   r$   r!   r&   r	   r	   r	   r   r      s8    








r   c                   @  sL   e Zd Zedd Zedd Zedd Zedd Zeed	d
 Z	dS )ContentStorec                 C  r   r   r   r
   r	   r	   r   existsG   r   zContentStore.existsc                 C  r   r   r   r
   r	   r	   r   readK   r   zContentStore.readc                 C  r   r   r   )r   contentr	   r	   r   writeO   r   zContentStore.writec                 C  r   r   r   r
   r	   r	   r   removeS   r   zContentStore.removec                 C  s   d S r   r	   r
   r	   r	   r   r&   W   r%   zContentStore.lockedN)
r'   r(   r)   r   r-   r.   r0   r1   r   r&   r	   r	   r	   r   r,   F   s    



r,   N)r*   
__future__r   abcr   r   
contextlibr   virtualenv.infor   r   r,   __all__r	   r	   r	   r   <module>   s    ;