
    @g
                         d Z ddlZddlmZmZ ddlmZ  e       Zd Z	eddd	Z
d
 ZedddZd Zd Zd Zd Zd Zy)z5Simplified function-based API for importlib.resources    N   )as_filefiles)TraversalErrorc                 8    t        | |      j                  d      S )z8Open for binary reading the *resource* within *package*.rb)_get_resourceopenanchor
path_namess     T/var/www/openai/venv/lib/python3.12/site-packages/importlib_resources/_functional.pyopen_binaryr      s    ,11$77    strictencodingerrorsc                Z    t        ||      }t        | |      }|j                  d||      S )z6Open for text reading the *resource* within *package*.rr   )_get_encoding_argr	   r
   r   r   r   r   resources        r   	open_textr      s/     X6HVZ0H==x=??r   c                 6    t        | |      j                         S )zARead and return contents of *resource* within *package* as bytes.)r	   
read_bytesr   s     r   read_binaryr      s    ,7799r   c                X    t        ||      }t        | |      }|j                  ||      S )z?Read and return contents of *resource* within *package* as str.r   )r   r	   	read_textr   s        r   r   r      s0     X6HVZ0Hx??r   c                 ,    t        t        | |            S )z@Return the path to the *resource* as an actual file system path.)r   r	   r   s     r   pathr!   #   s    =455r   c                 V    	 t        | |      j                         S # t        $ r Y yw xY w)zjReturn ``True`` if there is a resource named *name* in the package,

    Otherwise returns ``False``.
    F)r	   is_filer   r   s     r   is_resourcer$   (   s/    
VZ088:: s    	((c                 |    t        j                  dt        d       d t        | |      j	                         D        S )zReturn an iterable over the named resources within the package.

    The iterable returns :class:`str` resources (e.g. files).
    The iterable does not recurse into subdirectories.
    zPimportlib.resources.contents is deprecated. Use files(anchor).iterdir() instead.r   )
stacklevelc              3   4   K   | ]  }|j                     y w)N)name).0r   s     r   	<genexpr>zcontents.<locals>.<genexpr>?   s     V*UhHMM*Us   )warningswarnDeprecationWarningr	   iterdirr   s     r   contentsr/   3   s9     MM	/	 W-
*K*S*S*UVVr   c                 J    |t         u rt        |       dkD  rt        d      y|S )Nr   z5'encoding' argument required with multiple path nameszutf-8)_MISSINGlen	TypeError)r   r   s     r   r   r   B   s2    
 8z?QG  Or   c                 L    | t        d       t        |       j                  | S )Nz)anchor must be module or string, got None)r3   r   joinpathr   s     r   r	   r	   Q   s*    ~CDD!5=!!:..r   )__doc__r+   _commonr   r   abcr   objectr1   r   r   r   r   r!   r$   r/   r   r	    r   r   <module>r;      sV    ;  # 88
 -5X @:
 -5X @6
W/r   