o
    uJAf                     @  sP   d dl mZ d dlZd dlmZmZ d dlZej	rddl
mZ G dd dZdS )    )annotationsN)PurePosixPathPath   )Environmentc                   @  s*   e Zd ZdddZddd	ZdddZdS )DataFilepathstrreturnNonec                 C  s   t || _d S )N)r   r   )selfr    r   9/usr/lib/python3.10/site-packages/mesonbuild/mesondata.py__init__   s   zDataFile.__init__r   c                 C  sH   |  s"tjjd| jj  dd| jjdd}|j	|dd d S d S )N
mesonbuild/.zutf-8)encoding)
exists	importlib	resources	read_textr   parentas_posixreplacename
write_text)r   r   datar   r   r   
write_once   s   zDataFile.write_onceenv'Environment'c                 C  sl   zt jd| j }t|tr|W S W n	 ty   Y nw t|jd | jj }|j	j
dd | | |S )Nr   r   T)exist_ok)r   r   filesr   
isinstancer   AttributeErrorscratch_dirr   r   mkdirr   )r   r   resourceout_filer   r   r   write_to_private$   s   

zDataFile.write_to_privateN)r   r	   r
   r   )r   r   r
   r   )r   r    r
   r   )__name__
__module____qualname__r   r   r)   r   r   r   r   r      s    

r   )
__future__r   importlib.resourcesr   pathlibr   r   typingTTYPE_CHECKINGenvironmentr   r   r   r   r   r   <module>   s   