o
    0i                     @   sR   d dl Z d dlmZ d dlmZ dZG dd deZdede	eef fd	d
Z
dS )    N)Any)tomllibzG(?m)^# /// (?P<type>[a-zA-Z0-9-]+)$\s(?P<content>(^#(| .*)$\s)+)^# ///$c                   @   s"   e Zd ZdZdeddfddZdS )PEP723ExceptionzHRaised to indicate a problem when parsing PEP 723 metadata from a scriptmsgreturnNc                 C   s
   || _ d S )N)r   )selfr    r   Z/sda-disk/www/egybert/egybert_env/lib/python3.10/site-packages/pip/_internal/req/pep723.py__init__   s   
zPEP723Exception.__init__)__name__
__module____qualname____doc__strr
   r   r   r   r	   r   	   s    r   
scriptfiler   c              
      s   t | }| }W d    n1 sw   Y  d tt fddtt|}t|dkr9td d| t|dkrod	dd	 |d
 
djddD }zt|}W |S  tyn } ztd| |d }~ww td d| )Nscriptc                    s   |  d kS )Ntype)group)mnamer   r	   <lambda>   s    z!pep723_metadata.<locals>.<lambda>   z	Multiple z blocks found in  c                 s   s2    | ]}| d r|dd n|dd V  qdS )z#    Nr   )
startswith).0liner   r   r	   	<genexpr>   s
     
z"pep723_metadata.<locals>.<genexpr>r   contentT)keependszFailed to parse TOML in zFile does not contain z metadata: )openreadlistfilterrefinditerREGEXlenr   joinr   
splitlinesr   loads	Exception)r   fr   matchesr   metadataexcr   r   r	   pep723_metadata   s.   


r1   )r%   typingr   pip._internal.utils.compatr   r'   
ValueErrorr   r   dictr1   r   r   r   r	   <module>   s    