a
    ñ»jé  ã                   @   s¬   d dl mZ d dlmZ d dlmZmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZmZmZ d dlmZ d dlmZ d dlmZ eeed	œd
d„Zee eedœdd„ZdS )é    )ÚIterable)ÚPath)ÚPackageÚPackageArchiveÚPackageDirectoryÚPackageSdistÚ
PackageVcsÚPackageWheelÚPylock)ÚVersion)ÚArchiveInfoÚDirInfoÚVcsInfo)ÚLink)ÚInstallRequirement)Úurl_to_path)ÚireqÚbase_dirÚreturnc              	   C   sv  |  ¡ }|  ¡ }| j}|sJ ‚d }d }d }d }d }d }	| jrðt|jtƒrnt|jj|j	d |jj
|jj|jd�}n€t|jtƒr´ttt|j	ƒƒ  ¡  |¡ ¡ |jjr¦|jjnd |jd�}n:t|jtƒrè|jjsÎtƒ ‚t|j	d |jj|jd�}ntƒ ‚nn|j}t|jtƒ�rX|jj�stƒ ‚t|j	ƒ}
|
j�r@t|
j|j	|jjd�g}	nt|
j|j	|jjd�}ntƒ ‚t|j||||||	d�S )N)ÚtypeÚurlÚpathÚrequested_revisionÚ	commit_idÚsubdirectory)r   Úeditabler   )r   r   Úhashesr   )Únamer   r   )r   ÚversionÚvcsÚ	directoryÚarchiveÚsdistÚwheels) ÚresolveÚget_distÚdownload_infoZ	is_directÚ
isinstanceÚinfor   r   r   r   r   r   r   r   r   r   r   Úrelative_toÚas_posixr   r   r   ÚNotImplementedErrorr   r   r   Úis_wheelr	   Úfilenamer   r   Úcanonical_name)r   r   Údistr&   Zpackage_versionZpackage_vcsÚpackage_directoryZpackage_archiveZpackage_sdistZpackage_wheelsÚlink© r2   ú@E:\soccer\ml_env\Lib\site-packages\pip/_internal/utils/pylock.pyÚ(_pylock_package_from_install_requirement   s‚    úþöü

ýÿýùr4   )Úinstall_requirementsr   r   c                    s,   t tdƒdt‡ fdd„| D ƒdd„ d�d�S )	Nz1.0Úpipc                 3   s   | ]}t |ˆ ƒV  qd S ©N)r4   )Ú.0r   ©r   r2   r3   Ú	<genexpr>n   s   ÿz3pylock_from_install_requirements.<locals>.<genexpr>c                 S   s   | j S r7   )r   )Úpr2   r2   r3   Ú<lambda>r   ó    z2pylock_from_install_requirements.<locals>.<lambda>)Úkey)Zlock_versionZ
created_byÚpackages)r
   r   Úsorted)r5   r   r2   r9   r3   Ú pylock_from_install_requirementsg   s    
þûýrA   N)Úcollections.abcr   Úpathlibr   Zpip._vendor.packaging.pylockr   r   r   r   r   r	   r
   Zpip._vendor.packaging.versionr   Úpip._internal.models.direct_urlr   r   r   Úpip._internal.models.linkr   Zpip._internal.req.req_installr   Úpip._internal.utils.urlsr   r4   rA   r2   r2   r2   r3   Ú<module>   s   $	þSþ