OwlCyberSecurity - MANAGER
Edit File: metadata.cpython-38.pyc
U �-^� � @ sn d Z ddlZddlZddlZddlZddlmZ e�d�Z dd� Z dd � Zd d� Zdd � Z dd� Zdd� ZdS )z2 Tools for converting old- to new-style metadata. � N� )� read_pkg_infozF^(?P<package>.*?)(;\s*(?P<condition>.*?)(extra == '(?P<extra>.*?)')?)$c 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�opZver� r �0/usr/lib/python3/dist-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|kr4|�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 5 Q R X tt � |�dd� d�}|D ]6\}}t||i�D ] \} } | | f|�� kr�| || <