ó
b]c           @   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
 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 n  d
 d g Z d   Z d   Z d S(   s=   A single place for constructing and exposing the main parser
i’’’’N(   t
   cmdoptions(   t   ConfigOptionParsert   UpdatingDefaultsHelpFormatter(   t   commands_dictt   get_similar_commandst   get_summaries(   t   CommandError(   t   get_pip_versiont   get_prog(   t   MYPY_CHECK_RUNNING(   t   Tuplet   Listt   create_main_parsert   parse_commandc          C   sĖ   i d d 6t  d 6t   d 6d d 6t   d 6}  t |    } | j   t   | _ t j t j	 |  } | j
 |  t | _ t   } d g g  | D] \ } } d	 | | f ^ q } d
 j |  | _ | S(   s6   Creates and returns the main parser for pip's CLI
    s   
%prog <command> [options]t   usaget   add_help_optiont	   formattert   globalt   namet   progt    s   %-27s %ss   
(   t   FalseR   R   R   t   disable_interspersed_argsR   t   versionR    t   make_option_groupt   general_groupt   add_option_groupt   Truet   mainR   t   joint   description(   t	   parser_kwt   parsert   gen_optst   command_summariest   it   jR   (    (    s<   lib/python2.7/site-packages/pip/_internal/cli/main_parser.pyR      s     

		0c         C   s  t    } | j |   \ } } | j rZ t j j | j  t j j t j  t j   n  | s | d d k r t	 |  d k r | j
   t j   n  | d } | t k rū t |  } d | g } | rć | j d |  n  t d j |    n  |  } | j |  | | f S(   Ni    t   helpi   s   unknown command "%s"s   maybe you meant "%s"s    - (   R   t
   parse_argsR   t   syst   stdoutt   writet   ost   linesept   exitt   lent
   print_helpR   R   t   appendR   R   t   remove(   t   argsR    t   general_optionst	   args_elset   cmd_namet   guesst   msgt   cmd_args(    (    s<   lib/python2.7/site-packages/pip/_internal/cli/main_parser.pyR   :   s&    			)

(   t   __doc__R*   R'   t   pip._internal.cliR    t   pip._internal.cli.parserR   R   t   pip._internal.commandsR   R   R   t   pip._internal.exceptionsR   t   pip._internal.utils.miscR   R   t   pip._internal.utils.typingR	   t   typingR
   R   t   __all__R   R   (    (    (    s<   lib/python2.7/site-packages/pip/_internal/cli/main_parser.pyt   <module>   s   	!