
0c@_                 @   s   d  Z  d d l Z d d l Z d d l m Z d d l m Z m Z d d l m	 Z	 m
 Z
 d d l m Z d d l m Z m Z d d l m Z e r d d	 l m Z m Z d
 d g Z d d
   Z d d   Z d S)z=A single place for constructing and exposing the main parser
    N)
cmdoptions)ConfigOptionParserUpdatingDefaultsHelpFormatter)commands_dictget_similar_commands)CommandError)get_pip_versionget_prog)MYPY_CHECK_RUNNING)TupleListcreate_main_parserparse_commandc           
   C   s   d d d d d t    d d d t   i }  t |    } | j   t   | _ t j t j |  } | j	 |  d	 | _
 d
 g d d   t j   D } d j |  | _ | S)z6Creates and returns the main parser for pip's CLI
    usagez
%prog <command> [options]add_help_optionF	formatternameglobalprogT c             S   s(   g  |  ] \ } } d  j  t      q S)z {name:27} {command_info.summary})formatlocals).0r   Zcommand_info r   </tmp/pip-build-jynh7p1z/pip/pip/_internal/cli/main_parser.py
<listcomp>3   s   	z&create_main_parser.<locals>.<listcomp>
)r   r	   r   disable_interspersed_argsr   versionr   make_option_groupgeneral_groupadd_option_groupmainr   itemsjoindescription)	parser_kwparsergen_optsr%   r   r   r   r      s     	
		c             C   s   t    } | j |   \ } } | j rW t j j | j  t j j t j  t j   | s | d d k r t	 |  d k r | j
   t j   | d } | t k r t |  } d j |  g } | r | j d j |   t d j |    |  d  d   } | j |  | | f S)Nr   help   zunknown command "{}"zmaybe you meant "{}"z - )r   
parse_argsr   sysstdoutwriteoslinesepexitlen
print_helpr   r   r   appendr   r$   remove)argsr'   general_options	args_elsecmd_nameguessmsgcmd_argsr   r   r   r   ;   s&    			
)


)__doc__r/   r,   Zpip._internal.clir   Zpip._internal.cli.parserr   r   Zpip._internal.commandsr   r   Zpip._internal.exceptionsr   Zpip._internal.utils.miscr   r	   Zpip._internal.utils.typingr
   Ztypingr   r   __all__r   r   r   r   r   r   <module>   s   #