
    e                    h    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      Zy)    )annotationsN)PurePosixPathPath   )Environmentc                  $    e Zd ZddZddZddZy)DataFilec                $    t        |      | _        y )N)r   path)selfr   s     6/usr/lib/python3/dist-packages/mesonbuild/mesondata.py__init__zDataFile.__init__   s    !$'	    c                "   |j                         st        j                  j                  d| j                  j
                  z  j                         j                  dd      | j                  j                  d      }|j                  |d       y y )N
mesonbuild/.zutf-8)encoding)
exists	importlib	resources	read_textr   parentas_posixreplacename
write_text)r   r   datas      r   
write_oncezDataFile.write_once   ss    {{}&&00!DII$4$44>>@HHcRIINN$ 1 &D OOD7O3 r   c                \   	 t         j                  j                  d      | j                  z  }t	        |t
              r|S 	 t        |j                        dz  | j                  j                  z  }|j                  j                  d       | j                  |       |S # t        $ r Y iw xY w)Nr   r   T)exist_ok)r   r   filesr   
isinstancer   AttributeErrorscratch_dirr   r   mkdirr   )r   envresourceout_files       r   write_to_privatezDataFile.write_to_private$   s    	 **00>JH(D) * (61DIINNBt,!  		s   =B 	B+*B+N)r   strreturnNone)r   r   r,   r-   )r'   z'Environment'r,   r   )__name__
__module____qualname__r   r   r*    r   r   r	   r	      s    (4r   r	   )
__future__r   importlib.resourcesr   pathlibr   r   typingTTYPE_CHECKINGenvironmentr   r	   r1   r   r   <module>r9      s)    #  ' ??( r   