3
Q'ícY@ ã @ sn d Z ddlmZ ddlmZ ddlmZmZmZ ddl Z ddl
mZmZm
Z
mZ ddlmZ ddlmZmZ dd lmZ d
d Zdd
ZdÄddZeeddddddZeeddddddZeedddddedZeeddd d!dd"dZeed#d$d%dd&dZeed'd(d)d!dd*dZeed+d,d-d.d/d0d1Zeed2d3ddedZ eed4d5d6d7d8d9Z!eed:d;d<d=d>d9Z"eed?d@dAdBdCdDdEdFZ#eedGdHd6d7ed9Z$eedIdJd6d7ed9Z%dKdL Z&eedMdNd6d/dOdPZ'eedQdRd6dd/dSdTZ(eedUdVdWdXdYej)dZd[Z*d\d] Z+eed^d_ddd`dZ,dadb Z-dcdd Z.eededfddedZ/dgdh Z0eedidfdjdedZ1dkdl Z2eedmdndjdedZ3eedodpdddqdZ4drds Z5dtdu Z6dvdw Z7eedxdydzd{d|d}ed~d[ Z8eeddddedZ9eedddjdddZ:dd
Z;dd Z<dd Z=dd Z>dd Z?eedded}ddZ@eedddjddZAeedddddddZBeedddddd}dd1ZCeedddd dZDeed¡d¢d£d¤d¥d¦ZEeed§d¨d£d¤d©d¦ZFeedªddd«d¬ZGeedddd®d¬ZHeed¯d°ddd±dZIeed²d³d´dedZJdµd¶ ZKeed·d¸d¹eKdºd»d¼ZLeed½d¾ddd¿dZMdÀeeeeeeee e!e"e#e$e%e&e0e'e(e@eAeIgdÁZNdÂe*e+e,e-e4gdÁZOdÃeOd¤ e.e/e1e2e3g dÁZPdS )ÅaD
shared options and groups
The principle here is to define options once, but *not* instantiate them
globally. One reason being that options with action='append' can carry state
between parses. pip parses general options twice internally, and shouldn't
pass on state. To be consistent, all options will follow this design.
é )Úabsolute_import)Úpartial)ÚOptionGroupÚ
SUPPRESS_HELPÚOptionN)Ú
FormatControlÚfmt_ctl_handle_mutual_excludeÚfmt_ctl_no_binaryÚfmt_ctl_no_use_wheel)ÚPyPI)ÚUSER_CACHE_DIRÚ
src_prefix)Ú
STRONG_HASHESc C s0 t || d }x| d D ]}|j| qW |S )z
Return an OptionGroup object
group -- assumed to be dict with 'name' and 'options' keys
parser -- an optparse Parser
ÚnameÚoptions)r Ú
add_option)ÚgroupÚparserÚoption_groupÚoption© r ú-/tmp/pip-build-l_bcah40/pip/pip/cmdoptions.pyÚmake_option_group s r c C s | j s| j}t| d S )N)Ú use_wheelÚformat_controlr