Your IP : 216.73.216.224
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 �specs�append�join�sorted)�requirementZ
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_resources�Requirement�parser r
r �extras�project_name)�requirements�reqZparsed_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 �
safe_extrar )�extras_require�extra�depends� conditionZnew_reqr r r �generate_requirements% s
r&