
    3i                        d dl mZ d dlZd dlmZ d dlmZ ddlm	Z	m
Z
 erd dlmZ d dlmZ  G d	 d
e	      Z G d de
      Zd
gZy)    )annotationsN)TYPE_CHECKING)NoOpFileLock   )AppDataDiskFolderPyInfoStoreDisk)Path)NoReturnc                  D     e Zd ZdZd fdZddZddZd	dZd
dZ xZ	S )ReadOnlyAppDataFc                    t         j                  j                  |      sd| d}t        |      t        |   |       t        |      | _        y )Nzread-only app data directory z does not exist)ospathisdirRuntimeErrorsuper__init__r   lock)selffoldermsg	__class__s      P/var/www/opsc/venv/lib/python3.12/site-packages/virtualenv/app_data/read_only.pyr   zReadOnlyAppData.__init__   sE    ww}}V$1&ICs##  (	    c                    d}t        |      )Nz)read-only app data does not support resetr   )r   r   s     r   resetzReadOnlyAppData.reset   s    93r   c                    t         NNotImplementedError)r   s    r   py_info_clearzReadOnlyAppData.py_info_clear       !!r   c                .    t        | j                  |      S r   )_PyInfoStoreDiskReadOnly
py_info_at)r   r   s     r   py_infozReadOnlyAppData.py_info    s    '>>r   c                    t         r   r    )r   distributionfor_py_versions      r   embed_update_logz ReadOnlyAppData.embed_update_log#   r#   r   )r   strreturnNone)r-   r.   )r   r	   r-   r%   )r)   r,   r*   r,   r-   r
   )
__name__
__module____qualname__
can_updater   r   r"   r'   r+   __classcell__)r   s   @r   r   r      s!    J) "?"r   r   c                      e Zd ZddZy)r%   c                    d}t        |      )Nz0read-only app data python info cannot be updatedr   )r   contentr   s      r   writez_PyInfoStoreDiskReadOnly.write(   s    @3r   N)r6   r,   r-   r
   )r/   r0   r1   r7    r   r   r%   r%   '   s     r   r%   )
__future__r   os.pathr   typingr   virtualenv.util.lockr   via_disk_folderr   r   pathlibr	   r
   r   r%   __all__r8   r   r   <module>r@      sB    "    - ?"' "0    r   