← Back
Editing: pep723.cpython-312.pyc
� ]*j� � �X � d dl Z d dlmZ d dlmZ dZ G d� de� Zdede eef fd �Z y) � N)�Any)�tomllibzG(?m)^# /// (?P<type>[a-zA-Z0-9-]+)$\s(?P<content>(^#(| .*)$\s)+)^# ///$c � � e Zd ZdZdeddfd�Zy)�PEP723ExceptionzHRaised to indicate a problem when parsing PEP 723 metadata from a script�msg�returnNc � � || _ y )N)r )�selfr s �G/opt/hc_python/lib/python3.12/site-packages/pip/_internal/req/pep723.py�__init__zPEP723Exception.__init__ s � ���� )�__name__� __module__�__qualname__�__doc__�strr � r r r r s � �R��C� �D� r r � scriptfiler c �, �� t | d�� 5 }|j � }d d d � d�t t �fd�t j t � � � }t |� dkD rt d��d| ��� �t |� dk( rRdj d � |d j d� j d� � D � � } t j |� }|S t d��d| ��� �# 1 sw Y ��xY w# t $ r}t d| ��� |�d }~ww xY w)N�utf8)�encoding�scriptc �, �� | j d� �k( S )N�type)�group)�m�names �r �<lambda>z!pep723_metadata.<locals>.<lambda> s �� ������D�0r � z Multiple z blocks found in � c 3 �R K � | ] }|j d � r|dd n|dd �� �! y�w)z# � Nr )� startswith)�.0�lines r � <genexpr>z"pep723_metadata.<locals>.<genexpr> s4 � �� � �M�� ����-�D���H�4���8�;�M�s �%'r �contentT)�keependszFailed to parse TOML in zFile does not contain z metadata: )�open�read�list�filter�re�finditer�REGEX�lenr �joinr � splitlinesr �loads� Exception)r �fr �matchesr'