U
    +|j�  ã                   @   s–   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 d dlmZ d dlmZ d d	lmZmZ d d
lmZ G dd„ dee	ƒZdS )é    )ÚValues)ÚList)Úcanonicalize_name)ÚCommand)ÚSessionCommandMixinÚwarn_if_run_as_root)ÚSUCCESS)ÚInstallationError)Úparse_requirements)Úinstall_req_from_lineÚ#install_req_from_parsed_requirement)Ú(protect_pip_from_modification_on_windowsc                   @   s$   e Zd ZdZdZdd„ Zd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> ...c              	   C   sD   | j jddddg ddd� | j jdd	d
ddd� | 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_optionÚparserÚinsert_option_group)Úself© r   úhC:\Users\snmko\Desktop\web_content\django_cbt\venv\Lib\site-packages\pip/_internal/commands/uninstall.pyÚadd_options!   s"     ú	 üzUninstallCommand.add_optionsc           
      C   sâ   |   |¡}i }|D ]&}t||jd�}|jr||t|jƒ< q|jD ]:}t|||d�D ]&}t||jd�}|jrR||t|jƒ< qRq@|sštd| j› d| j› d�ƒ‚t	d|kd� | 
¡ D ]&}|j|j| jdkd	�}	|	r°|	 ¡  q°tƒ  tS )
N)Úisolated)ÚoptionsÚsessionz*You must give at least one requirement to z (see "pip help z")Úpip)Úmodifying_pipr   )Úauto_confirmÚverbose)Úget_default_sessionr   Úisolated_modeÚnamer   r   r
   r   r	   r   ÚvaluesÚ	uninstallr   Ú	verbosityÚcommitr   r   )
r   r"   Úargsr#   Zreqs_to_uninstallr*   ÚreqÚfilenameÚ
parsed_reqZuninstall_pathsetr   r   r   Úrun4   sJ    
 ÿ
ý
þÿÿ ÿ
zUninstallCommand.runN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úusager    r3   r   r   r   r   r      s   
r   N)Úoptparser   Útypingr   Úpip._vendor.packaging.utilsr   Úpip._internal.cli.base_commandr   Úpip._internal.cli.req_commandr   r   Úpip._internal.cli.status_codesr   Úpip._internal.exceptionsr	   Úpip._internal.reqr
   Úpip._internal.req.constructorsr   r   Úpip._internal.utils.miscr   r   r   r   r   r   Ú<module>   s   