Your IP : 216.73.216.196
a
��a� � @ s\ d Z ddlZddlZddlZddlmZ dd� Zdd� Zd d
� Z dd� Z
d
d� Zdd� ZdS )z2
Tools for converting old- to new-style metadata.
� N� )�
read_pkg_infoc C sR t | dd�rd| j S g }| jD ]\}}|�|| � q |s@dS dd�t|�� S )zFReturn the version specifier for a requirement in PEP 345/566 fashion.�urlNz @ � z (%s)�,)�getattrr Zspecs�append�join�sorted)ZrequirementZ
requires_dist�op�ver� r
�?/opt/alt/python39/lib/python3.9/site-packages/wheel/metadata.py�requires_to_requires_dist
s
r c c sN | D ]D}t j�|�}t|�}d�t|j��}|r8d| }|j| | V qdS )z=Yield Requires-Dist: strings for parsed requirements strings.r z[%s]N)�
pkg_resourcesZRequirement�parser r r
�extrasZproject_name)ZrequirementsZreqZparsed_requirement�specr r
r
r �convert_requirements s r c c s� | � � D ]�\}}d}|pd}d|v r4|�dd�\}}t�|�}|rhd|fV |r\d| d }|d| 7 }|rtd| }t|�D ]}d || fV q|qd
S )a,
Convert requirements from a setup()-style dictionary to ('Requires-Dist', 'requirement')
and ('Provides-Extra', 'extra') tuples.
extras_require is a dictionary of {extra: [requirements]} as passed to setup(),
using the empty extra {'': [requirements]} to hold install_requires.
r �:r �Provides-Extra�(z) and z
extra == '%s'z ; �
Requires-DistN)�items�splitr Z
safe_extrar )Zextras_require�extraZdependsZ conditionZnew_reqr
r
r �generate_requirements% s
r c C s� t |�}|�dd� |d= |d= tj�| d�}tj�|�r�t|��}|�� }W d � n1 s`0 Y tt �
|�dd� d �}|D ]6\}}t||i�D ] \} }
| |
f|�� vr�|
|| <