o
    ©„j  ã                   @   s„   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ defd	d
„Zdee fdd„ZG dd„ deƒZdS )é    N)ÚValues)Ú
cmdoptions)ÚCommand)ÚSUCCESS)Ústdlib_pkgs)ÚfreezeÚreturnc                   C   s
   t jdk S )N)é   é   )ÚsysÚversion_info© r   r   ú[/var/www/html/django_cbt/venv/lib/python3.10/site-packages/pip/_internal/commands/freeze.pyÚ_should_suppress_build_backends   s   
r   c                  C   s   dh} t ƒ r| h d£O } | S )NÚpip>   ÚwheelÚ
distributeÚ
setuptools)r   )Úpkgsr   r   r   Ú	_dev_pkgs   s   r   c                   @   s<   e Zd ZdZdZdZddd„Zded	ee	 de
fd
d„ZdS )ÚFreezeCommandzx
    Output installed packages in requirements format.

    packages are listed in a case-insensitive sorted order.
    Tz
      %prog [options]r   Nc              	   C   s²   | j jddddg ddd� | j jdd	d
dddd� | j jdddddd� | j  t ¡ ¡ | j jdddd d tƒ ¡¡d� | j jddddd� | j  t ¡ ¡ | j 	d| j ¡ d S )Nz-rz--requirementÚrequirementsÚappendÚfilez}Use the order in the given requirements file and its comments when generating output. This option can be used multiple times.)ÚdestÚactionÚdefaultÚmetavarÚhelpz-lz--localÚlocalÚ
store_trueFzUIf in a virtualenv that has global access, do not output globally-installed packages.)r   r   r   r   z--userÚuserz,Only output packages installed in user-site.z--allÚ
freeze_allz,Do not skip these packages in the output: {}z, )r   r   r   z--exclude-editableÚexclude_editablez%Exclude editable package from output.r   )
Úcmd_optsÚ
add_optionr   Ú	list_pathÚformatÚjoinr   Úlist_excludeÚparserÚinsert_option_group)Úselfr   r   r   Úadd_options#   sP   øùûú	üzFreezeCommand.add_optionsÚoptionsÚargsc              	   C   sr   t tƒ}|js| tƒ ¡ |jr| |j¡ t |¡ t|j	|j
|j|j|j||jd�D ]
}tj |d ¡ q,tS )N)ÚrequirementÚ
local_onlyÚ	user_onlyÚpathsÚisolatedÚskipr#   Ú
)Úsetr   r"   Úupdater   Úexcludesr   Úcheck_list_path_optionr   r   r   r!   ÚpathÚisolated_moder#   r   ÚstdoutÚwriter   )r,   r.   r/   r5   Úliner   r   r   ÚrunW   s"   

ù	zFreezeCommand.run)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úignore_require_venvÚusager-   r   ÚlistÚstrÚintr@   r   r   r   r   r      s    
4r   )r   Úoptparser   Úpip._internal.clir   Úpip._internal.cli.base_commandr   Úpip._internal.cli.status_codesr   Úpip._internal.metadata.baser   Úpip._internal.operations.freezer   Úboolr   r7   rH   r   r   r   r   r   r   Ú<module>   s    	