3
Ug                 @   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 dlmZ d	d
ddhZG dd deZdS )    N)Values)List)
cmdoptions)Command)SUCCESS)freeze)stdlib_pkgspip
setuptoolsZ
distributewheelc               @   s<   e Zd ZdZdZdZddddZeee	 e
dd	d
ZdS )FreezeCommandzx
    Output installed packages in requirements format.

    packages are listed in a case-insensitive sorted order.
    z
      %prog [options]ext://sys.stderrN)returnc          	   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 jtj  | j jddddjdjtd | j jddddd | j jtj  | 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joinDEV_PKGSZlist_excludeparserinsert_option_group)self r%   A/tmp/pip-unpacked-wheel-0ht26j5g/pip/_internal/commands/freeze.pyadd_options   sF    zFreezeCommand.add_options)optionsargsr   c          	   C   st   t t}|js|jt |jr*|j|j tj| x:t|j	|j
|j|j|j||jdD ]}tjj|d  qXW tS )N)requirement
local_only	user_onlypathsisolatedskipr   
)setr   r   updater!   Zexcludesr   check_list_path_optionr   r   r   r   pathisolated_moder   sysstdoutwriter   )r$   r(   r)   r/   liner%   r%   r&   runM   s     

zFreezeCommand.run)r   r   )__name__
__module____qualname____doc__usagelog_streamsr'   r   r   strintr:   r%   r%   r%   r&   r      s
   4r   )r6   optparser   typingr   Zpip._internal.clir   pip._internal.cli.base_commandr   pip._internal.cli.status_codesr   Zpip._internal.operations.freezer   pip._internal.utils.compatr   r!   r   r%   r%   r%   r&   <module>   s   