o
    0i                     @   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 d	ed
edefddZdee d
edef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   sn  |  }|  }| j}|sJ d }d }d }d }d }d }	| jrwt|jtr7t|jj|j	d |jj
|jj|jd}ntt|jtrZttt|j	  | |jjrS|jjnd |jd}nQt|jtrt|jjsgt t|j	d |jj|jd}n7t |j}t|jtr|jjst t|j	}
|
jrt|
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_info	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&   package_versionpackage_vcspackage_directorypackage_archivepackage_sdistpackage_wheelslink r8   \/sda-disk/www/egybert/egybert_env/lib/python3.10/site-packages/pip/_internal/utils/pylock.py(_pylock_package_from_install_requirement   s   
r:   install_requirementsc                    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)r:   ).0r   r   r8   r9   	<genexpr>n   s
    
z3pylock_from_install_requirements.<locals>.<genexpr>c                 S   s   | j S r=   )r   )pr8   r8   r9   <lambda>r   s    z2pylock_from_install_requirements.<locals>.<lambda>)key)lock_version
created_bypackages)r
   r   sorted)r;   r   r8   r?   r9    pylock_from_install_requirementsg   s   
rH   N)collections.abcr   pathlibr   pip._vendor.packaging.pylockr   r   r   r   r   r	   r
   pip._vendor.packaging.versionr   pip._internal.models.direct_urlr   r   r   pip._internal.models.linkr   pip._internal.req.req_installr   pip._internal.utils.urlsr   r:   rH   r8   r8   r8   r9   <module>   s,    $	
R