
    3i                        d Z ddlmZ ddlZddlZddlZddlmZmZ ddl	m
Z
mZ ddlmZ ddlmZ dd	lmZ dd
lmZ erddlmZ ddlmZ  ej0                  e      ZddZddZddZdZy)z&Application data stored by virtualenv.    )annotationsN)TYPE_CHECKINGAny)user_cache_diruser_data_dir   )AppDataDisabled)ReadOnlyAppData)AppDataDiskFolder)TempAppData)Mapping)AppDatac                ,    d}|| v r| |   S t               S )NVIRTUALENV_OVERRIDE_APP_DATA)_cache_dir_with_migration)envkeys     O/var/www/opsc/venv/lib/python3.12/site-packages/virtualenv/app_data/__init__.py_default_app_data_dirr      s     
(C
cz3x$&&    c                    t        dd      } t        dd      }| |k(  r| S t        j                  j	                  |      rOt        j                  j	                  |       s0t
        j                  d||        	 t        j                  ||        | S | S # t        $ r$}t
        j                  d|| |       |cY d }~S d }~ww xY w)N
virtualenvpypa)appname	appauthorz migrating app data from %s to %sz@could not migrate app data from %s to %s: %r, using old location)r   r   ospathisdirLOGGERinfoshutilmoveOSErrorwarning)new_dirold_dir	exceptions      r   r   r       s    \VDGLFCG'	ww}}WbggmmG&<6I	KK) N7N  	NNRT[]dfo N		s   8B 	B?B:4B?:B?c                *   |j                  d      }|j                  d      }|rd}t        |      | t        |      } t        j                  j                  |       } |rt        |       S 	 t        j                  | d       t        j                  d|        t        j                  | t        j                        rt        |       S t        j                  d|        t               S # t        $ r!}t        j                  d| |       Y d }~td }~ww xY w)	N	read_onlyr   zunexpected keywords: {}T)exist_okzcreated app data folder %sz-could not create app data folder %s due to %rz&app data folder %s has no write access)pop	TypeErrorr   r   r   abspathr
   makedirsr   debugr#   r    accessW_OKr   r   )folderkwargsis_read_onlyr   msgr'   s         r   make_app_datar6   1   s    ::k*L
**U
C'n~&s+WW__V$Fv&&X
FT*16: 
yy! ((
LL96B=  XCVYWWXs   ,-C( (	D1DD)r	   r   r
   r   r6   )r   zMapping[str, str]returnstr)r7   r8   )r2   z
str | Noner3   r   r7   r   )__doc__
__future__r   loggingr   r!   typingr   r   platformdirsr   r   nar	   r)   r
   via_disk_folderr   via_tempdirr   collections.abcr   baser   	getLogger__name__r   r   r   r6   __all__ r   r   <module>rG      sW    , "  	  % 6  & . $'			8	$'"4r   