3
zYði  ã               @   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.stderrc          	      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jtƒ d� | 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-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-ue6tjl93/pip/pip/commands/freeze.pyr      sD    zFreezeCommand.__init__c          
   C   s‚   t jjtƒ tƒ ƒ}t|j|ƒ}ttƒ}|js6|jt	ƒ t
|j|j|j|j|j|j||d�}x"tf |ŽD ]}tjj|d ƒ qfW d 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.   r/   Úfreeze_kwargsÚliner'   r'   r(   ÚrunE   s     
zFreezeCommand.run)r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚusageÚsummaryÚlog_streamsr   r@   Ú__classcell__r'   r'   )r&   r(   r      s   *r   )r   r   r	   r
   )Ú
__future__r   r9   r   Ú
pip.compatr   Úpip.basecommandr   Úpip.operations.freezer   Ú	pip.wheelr   r    r   r'   r'   r'   r(   Ú<module>   s   