Your IP : 216.73.216.213
B
Dt�Zf � @ s� d Z ddlZddlZddlZddlmZ ddlZddlm Z e�
d�Zedd�Zd d
� Z
dd� Zd
d� Zdd� Zdd� Zdd� ZdS )z2
Tools for converting old- to new-style metadata.
� N)�
namedtuple� )�
read_pkg_infozF^(?P<package>.*?)(;\s*(?P<condition>.*?)(extra == '(?P<extra>.*?)')?)$�MayRequiresKey)� condition�extrac C s@ g }x | j D ]\}}|�|| � qW |s.dS dd�t|�� S )zBCompose the version predicates for requirement in PEP 345 fashion.� z (%s)�,)Zspecs�append�join�sorted)ZrequirementZ
requires_dist�opZver� r �?/opt/alt/python37/lib/python3.7/site-packages/wheel/metadata.py�requires_to_requires_dist s r c c sN xH| D ]@}t j�|�}t|�}d�|j�}|r6d| }|j| | V qW dS )z=Yield Requires-Dist: strings for parsed requirements strings.r z[%s]N)�
pkg_resourcesZRequirement�parser r �extrasZproject_name)ZrequirementsZreqZparsed_requirement�specr r r r �convert_requirements s
r c c s� x�| � � D ]�\}}d}|r<d|kr<|�dd�\}}t�|�}|rfd|fV |rZd| d }|d| 7 }|rrd| }xt|�D ]}d || fV q|W q
W d
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 zProvides-Extra�(z) and z
extra == '%s'z; z
Requires-DistN)�items�splitr Z
safe_extrar )Zextras_requirer Zdependsr Znew_reqr r r �generate_requirements* s
r c
C s� t |�}|�dd� tj�| d�}tj�|�r�t|��}|�� }W dQ R X xHtt �
|�dd� d�D ].\}}x$t||i�D ]}|d ||d <