3 ig6 @sdZddlZddlZddlmZmZddlmZddlm Z m Z ddl m Z m Z ddlmZddlmZmZd d gZe d d d Zeeeeeefd dd ZdS)z=A single place for constructing and exposing the main parser N)ListTuple) cmdoptions)ConfigOptionParserUpdatingDefaultsHelpFormatter) commands_dictget_similar_commands) CommandError)get_pip_versionget_progcreate_main_parser parse_command)returncCsltddtdtd}|jt|_tjtj|}|j |d|_ dgddt j D}d j ||_|S) z1Creates and returns the main parser for pip's CLIz %prog [options]Fglobal)usageadd_help_option formatternameprogTcSs"g|]\}}|dd|jqS)Z27 )summary).0rZ command_infor(sz&create_main_parser.. )rrr disable_interspersed_argsr versionrmake_option_group general_groupadd_option_groupmainritemsjoin description)parsergen_optsr%rrrr s    )argsrcCst}|j|\}}|jr>tjj|jtjjtjtj| s\|ddkrlt |dkrl|j tj|d}|t krt |}d|dg}|r|j d|dtdj||dd}|j|||fS)Nrhelpzunknown command ""zmaybe you meant "z - )r parse_argsrsysstdoutwriteoslinesepexitlen print_helprrappendr r$remove)r(r&general_options args_elsecmd_nameguessmsgcmd_argsrrrr 0s&   )__doc__r0r-ZtypingrrZpip._internal.clirZpip._internal.cli.parserrrZpip._internal.commandsrrZpip._internal.exceptionsr Zpip._internal.utils.miscr r __all__r strr rrrrs