B Re0,@s&ddlmZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZdd lmZdd lmZdd lmZmZmZmZdd lmZdd lmZddlmZerddlm Z ddl!m"Z"m#Z#m$Z$m%Z%ddl&m'Z'ddl(m)Z)e*e+Z,Gddde Z-ddZ.ddZ/dS))absolute_importN)six) cmdoptions)IndexGroupCommand)SUCCESS) CommandError) LinkCollector) PackageFinder)SelectionPreferences)dist_is_editableget_installed_distributionstabulate write_output) get_installer)map_multithread)MYPY_CHECK_RUNNING)Values)ListSetTupleIterator) PipSession) Distributionc@s`eZdZdZdZdZddZddZdd Zd d Z d d Z ddZ ddZ ddZ ddZdS) ListCommandzt List installed packages, including editables. Packages are listed in a case-insensitive sorted order. Tz %prog [options]cCs|jjdddddd|jjddddd d|jjd d ddd d|jjd ddddd|jjdddddd|jt|jjddddd|jjddddddd|jjddddd |jjd!d"d#d$d |jjd%dd#d&d'd(ttj|j}|jd)||jd)|jdS)*Nz-oz --outdated store_trueFzList outdated packages)actiondefaulthelpz-uz --uptodatezList uptodate packagesz-ez --editablezList editable projects.z-lz--localzSIf in a virtualenv that has global access, do not list globally-installed packages.z--useruserz,Only output packages installed in user-site.)destrrrz--prezYInclude pre-release and development versions. By default, pip only finds stable versions.z--formatstore list_formatcolumns)r"freezejsonzBSelect the output format among: columns (default), freeze, or json)rrrchoicesrz--not-required not_requiredz>List packages that are not dependencies of installed packages.)rrrz--exclude-editable store_falseinclude_editablez%Exclude editable package from output.z--include-editablez%Include editable package from output.T)rrrrr)cmd_opts add_optionr list_pathmake_option_group index_groupparserinsert_option_group)self index_optsr2/builddir/build/BUILDROOT/alt-python37-pip-20.2.4-6.el8.x86_64/opt/alt/python37/lib/python3.7/site-packages/pip/_internal/commands/list.py add_options.sv zListCommand.add_optionscCs*tj||d}td|jd}tj||dS)zK Create a package finder appropriate to this list command. )optionsF) allow_yankedallow_all_prereleases)link_collectorselection_prefs)rcreater prer )r0r5sessionr8r9r2r2r3_build_package_finder{s z!ListCommand._build_package_findercCs|jr|jrtdt|t|j|j|j|j |j d}|j rL| ||}|jr`| ||}n|jrr|||}|||tS)Nz5Options --outdated and --uptodate cannot be combined.) local_only user_onlyeditables_onlyinclude_editablespaths)outdatedZuptodaterrcheck_list_path_optionr localreditabler(pathr&get_not_required get_outdated get_uptodateoutput_package_listingr)r0r5argspackagesr2r2r3runs$      zListCommand.runcCsdd|||DS)NcSsg|]}|j|jkr|qSr2)latest_versionparsed_version).0distr2r2r3 sz,ListCommand.get_outdated..)iter_packages_latest_infos)r0rMr5r2r2r3rIszListCommand.get_outdatedcCsdd|||DS)NcSsg|]}|j|jkr|qSr2)rOrP)rQrRr2r2r3rSsz,ListCommand.get_uptodate..)rT)r0rMr5r2r2r3rJszListCommand.get_uptodatecsBtx$|D]}dd|Dq Wtfdd|DS)Ncss|] }|jVqdS)N)key)rQ requirementr2r2r3 sz/ListCommand.get_not_required..csh|]}|jkr|qSr2)rU)rQpkg)dep_keysr2r3 sz/ListCommand.get_not_required..)setupdaterequireslist)r0rMr5rRr2)rYr3rHs zListCommand.get_not_requiredc #sV|B}||fdd}x t||D]}|dk r2|Vq2WWdQRXdS)Ncspd}|j}js$dd|D}j|jd}||}|dkrHdS|j}|jjr\d}nd}||_ ||_ |S)NunknowncSsg|]}|jjs|qSr2)version is_prerelease)rQ candidater2r2r3rSszOListCommand.iter_packages_latest_infos..latest_info..) project_namewheelsdist) find_all_candidatesrUr;make_candidate_evaluatorrcsort_best_candidater`linkis_wheelrOlatest_filetype)rRtypZall_candidatesZ evaluatorbest_candidateremote_version)finderr5r2r3 latest_infos    z;ListCommand.iter_packages_latest_infos..latest_info)_build_sessionr=r)r0rMr5r<rprRr2)ror5r3rTs   z&ListCommand.iter_packages_latest_infoscCst|ddd}|jdkr:|r:t||\}}|||nb|jdkrxV|D]4}|jdkrntd|j|j|jqJtd|j|jqJWn|jd krtt ||dS) NcSs |jS)N)rclower)rRr2r2r3z4ListCommand.output_package_listing..)rUr"r#z %s==%s (%s)z%s==%sr$) sortedr!format_for_columnsoutput_package_listing_columnsverboserrcr`locationformat_for_json)r0rMr5dataheaderrRr2r2r3rKs     z"ListCommand.output_package_listingcCsft|dkr|d|t|\}}t|dkrL|ddtdd|x|D] }t|qRWdS)Nrru cSsd|S)N-r2)xr2r2r3rsrtz.)leninsertr joinmapr)r0r|r}Z pkg_stringssizesvalr2r2r3rxs     z*ListCommand.output_package_listing_columnsN)__name__ __module__ __qualname____doc__ignore_require_venvusager4r=rNrIrJrHrTrKrxr2r2r2r3r#sM #rcCs|j}|rddddg}nddg}g}|jdks@tdd|DrJ|d|jdkr^|d xt|D]l}|j|jg}|r||j||j|jdkst|r||j |jdkr|t |||qdW||fS) z_ Convert the package data into something usable by output_package_listing_columns. PackageVersionZLatestTyperucss|]}t|VqdS)N)r )rQrr2r2r3rWsz%format_for_columns..ZLocationZ Installer) rCryanyappendrcr`rOrkr rzr)pkgsr5Zrunning_outdatedr}r|Zprojrowr2r2r3rw s(         rwcCszg}xj|D]b}|jt|jd}|jdkrB|j|d<t||d<|jrbt|j|d<|j |d<| |q Wt |S)N)namer`rurz installerrOrk) rcr text_typer`ryrzrrCrOrkrr$dumps)rMr5r|rRinfor2r2r3r{1s     r{)0 __future__rr$logging pip._vendorrZpip._internal.clirpip._internal.cli.req_commandrpip._internal.cli.status_codesrpip._internal.exceptionsrpip._internal.index.collectorr"pip._internal.index.package_finderr $pip._internal.models.selection_prefsr pip._internal.utils.miscr r r rpip._internal.utils.packagingrZpip._internal.utils.parallelrpip._internal.utils.typingroptparsertypingrrrrpip._internal.network.sessionrZpip._vendor.pkg_resourcesr getLoggerrloggerrrwr{r2r2r2r3s0                i&