
    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 dlmZ d d	lmZ d d
lmZmZ d dlmZmZmZ  e j        e          Z G d dee
          ZdS )    N)Values)canonicalize_name)
cmdoptions)Command)SessionCommandMixin)SUCCESS)InstallationError)parse_requirements)install_req_from_line#install_req_from_parsed_requirement)check_externally_managed(protect_pip_from_modification_on_windowswarn_if_run_as_rootc                   >    e Zd ZdZdZd	dZdedee         de	fdZ
dS )
UninstallCommandaB  
    Uninstall packages.

    pip is able to uninstall most installed packages. Known exceptions are:

    - Pure distutils packages installed with ``python setup.py install``, which
      leave behind no metadata to determine what files were installed.
    - Script wrappers installed by ``python setup.py develop``.
    zU
      %prog [options] <package> ...
      %prog [options] -r <requirements file> ...returnNc           	      r   | j                             ddddg dd           | j                             dd	d
dd           | j                             t          j                               | j                             t          j                               | j                            d| j                    d S )Nz-rz--requirementrequirementsappendfilezjUninstall all the packages listed in the given requirements file.  This option can be used multiple times.)destactiondefaultmetavarhelpz-yz--yesyes
store_truez2Don't ask for confirmation of uninstall deletions.)r   r   r   r   )cmd_opts
add_optionr   root_user_actionoverride_externally_managedparserinsert_option_group)selfs    r/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/pip/_internal/commands/uninstall.pyadd_optionszUninstallCommand.add_options(   s      A 	! 	
 	
 	
 	  E 	! 	
 	
 	
 	  !<!>!>???  !G!I!IJJJ''4=99999    optionsargsc                    |                      |          }i }|D ]R}t          ||j                  }|j        r||t	          |j                  <   7t
                              d|           S|j        D ]K}t          |||          D ]6}t          ||j                  }|j        r||t	          |j                  <   7L|s t          d| j         d| j         d          |j        st                       t          d|v            |                                D ]=}|                    |j        | j        d	k    
          }	|	r|	                                 >|j        dk    rt)                       t*          S )N)isolatedzSInvalid requirement: %r ignored - the uninstall command expects named requirements.)r(   sessionz*You must give at least one requirement to z (see "pip help z")pip)modifying_pipr   )auto_confirmverbosewarn)get_default_sessionr   isolated_modenamer   loggerwarningr   r
   r   r	   r!   r   r   values	uninstallr   	verbositycommitr    r   r   )
r$   r(   r)   r,   reqs_to_uninstallr4   reqfilename
parsed_requninstall_pathsets
             r%   runzUninstallCommand.run@   s   **733 	 	D' .  C x AD!"3CH"="=>>% 	     , 	I 	IH0'7   I I
 :)>   8 IEH%&7&A&ABI ! 	#+TY + +!Y+ + +  
 2 	'$&&&0#44	
 	
 	
 	
 %++-- 	+ 	+C #$[* !. ! ! ! +!((***#v--!!!r'   )r   N)__name__
__module____qualname____doc__usager&   r   liststrintr@    r'   r%   r   r      sf         4E: : : :016 1c 1s 1 1 1 1 1 1r'   r   )loggingoptparser   pip._vendor.packaging.utilsr   pip._internal.clir   pip._internal.cli.base_commandr   pip._internal.cli.index_commandr   pip._internal.cli.status_codesr   pip._internal.exceptionsr	   pip._internal.reqr
   pip._internal.req.constructorsr   r   pip._internal.utils.miscr   r   r   	getLoggerrA   r5   r   rI   r'   r%   <module>rV      sM          9 9 9 9 9 9 ( ( ( ( ( ( 2 2 2 2 2 2 ? ? ? ? ? ? 2 2 2 2 2 2 6 6 6 6 6 6 0 0 0 0 0 0                 
	8	$	$X X X X Xw 3 X X X X Xr'   