Re @sdZddlZddlZddlmZddlmZmZddlm Z m Z ddl m Z ddl mZmZddlmZerdd lmZmZd d gZd d Zd d ZdS)z=A single place for constructing and exposing the main parser N) cmdoptions)ConfigOptionParserUpdatingDefaultsHelpFormatter) commands_dictget_similar_commands) CommandError)get_pip_versionget_prog)MYPY_CHECK_RUNNING)TupleListcreate_main_parser parse_commandc Csdddddtdddti}t|}|jt|_tjtj|}|j |d |_ d gd d t j D}d j ||_|S)z6Creates and returns the main parser for pip's CLI usagez %prog [options]add_help_optionF formatternameglobalprogTcSs(g|]\}}djtqS)z {name:27} {command_info.summary})formatlocals).0r command_infor/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/cli/main_parser.py 3s z&create_main_parser.. )rr rdisable_interspersed_argsrversionrmake_option_group general_groupadd_option_groupmainritemsjoin description) parser_kwparsergen_optsr&rrrr s        cCs t}|j|\}}|jrWtjj|jtjjtjtj| s|ddkrt |dkr|j tj|d}|t krt |}dj |g}|r|jdj |tdj||dd}|j|||fS)Nrhelpzunknown command "{}"zmaybe you meant "{}"z - )r parse_argsrsysstdoutwriteoslinesepexitlen print_helprrrappendrr%remove)argsr(general_options args_elsecmd_nameguessmsgcmd_argsrrrr;s&   )      )__doc__r0r-Zpip._internal.clirpip._internal.cli.parserrrpip._internal.commandsrrpip._internal.exceptionsrpip._internal.utils.miscrr pip._internal.utils.typingr typingr r __all__r rrrrrs    #