
    Wh                         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	Zdee         fd
Z G d de          ZdS )    N)Values)
cmdoptions)Command)SUCCESS)freeze)stdlib_pkgsreturnc                  "    t           j        dk     S )N)      )sysversion_info     o/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/pip/_internal/commands/freeze.py_should_suppress_build_backendsr      s    g%%r   c                  6    dh} t                      r| h dz  } | S )Npip>   wheel
distribute
setuptools)r   )pkgss    r   	_dev_pkgsr      s-    7D&(( 65555Kr   c                   B    e Zd ZdZdZdZd
dZdedee	         de
f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                    | j                             ddddg dd           | j                             dd	d
ddd           | j                             ddddd           | j                             t          j                               | j                             dddd                    d                    t                                                     | j                             dddd           | j                             t          j                               | 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)selfs    r   add_optionszFreezeCommand.add_options#   sv     ' 	! 	
 	
 	
 	  / 	! 
	
 
	
 
	
 	  ? 	! 	
 	
 	
 	  !5!7!7888  fTYYy{{3344 	! 	
 	
 	
 	   #8	 	! 	
 	
 	
 	  !8!:!:;;;''4=99999r   optionsargsc           	         t          t                    }|j        s!|                    t	                                 |j        r|                    |j                   t          j        |           t          |j	        |j
        |j        |j        |j        ||j                  D ]$}t          j                            |dz              %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   )r2   r4   r5   r<   lines        r   runzFreezeCommand.runW   s    ;! 	%KK	$$$ 	*KK())))'222,}l,*$5
 
 
 		* 		*D JTD[))))r   )r	   N)__name__
__module____qualname____doc__ignore_require_venvusager3   r   liststrintrG   r   r   r   r   r      so          E2: 2: 2: 2:h6 c s      r   r   )r   optparser   pip._internal.clir   pip._internal.cli.base_commandr   pip._internal.cli.status_codesr   pip._internal.operations.freezer   pip._internal.utils.compatr   boolr   r>   rO   r   r   r   r   r   <module>rX      s    



       ( ( ( ( ( ( 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2& & & & &3s8    S S S S SG S S S S Sr   