U
    KQh                     @   sd   d dl mZ d dlZ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ZG dd	 d	eZdS )
    )absolute_importN)stdlib_pkgs)Command)freeze)
WheelCache)pip
setuptools
distributewheelc                       s8   e Zd ZdZdZdZdZdZ fddZdd	 Z	  Z
S )
FreezeCommandzx
    Output installed packages in requirements format.

    packages are listed in a case-insensitive sorted order.
    r   z
      %prog [options]z1Output installed packages in requirements format.)ext://sys.stderrr   c              	      s   t t| j|| | jjddddg ddd | 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dddddt d | 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-fz--find-links
find_linksURLz<URL for finding packages, which will be added to the output.z-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: %sz, )r   r   r   r   )	superr   __init__cmd_opts
add_optionjoinDEV_PKGSparserinsert_option_group)selfargskw	__class__ 2/tmp/pip-build-tlro1kwj/pip/pip/commands/freeze.pyr      sV     	  zFreezeCommand.__init__c              
   C   s~   t jt t }t|j|}tt}|js6|t	 t
|j|j|j|j|j|j||d}tf |D ]}tj|d  qdd S )N)requirementr   
local_only	user_only
skip_regexisolatedwheel_cacheskip
)r   indexFormatControlsetr   	cache_dirr   r   updater    dictr   r   r   r   skip_requirements_regexisolated_moder   sysstdoutwrite)r#   optionsr$   format_controlr/   r0   freeze_kwargsliner(   r(   r)   runE   s"    

zFreezeCommand.run)__name__
__module____qualname____doc__nameusagesummarylog_streamsr   rA   __classcell__r(   r(   r&   r)   r      s   *r   )
__future__r   r:   r   
pip.compatr   pip.basecommandr   pip.operations.freezer   	pip.wheelr   r    r   r(   r(   r(   r)   <module>   s   