3 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)ej*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|jjtj|jjddddd|jjddddd+dd|jjdddd d!|jjd"d#d$d%d!|jjd&dd$d'd(d)tjtj|j}|jjd*||jjd*|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_formatcolumnsfreezejsonzBSelect 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)r"r#r$)cmd_opts add_optionr list_pathmake_option_group index_groupparserinsert_option_group)self index_optsr2/builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el9.x86_64/opt/alt/python36/lib/python3.6/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|jrtdtj|t|j|j|j|j |j d}|j rL|j ||}|jr`|j ||}n|jrr|j||}|j||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|j||DS)NcSsg|]}|j|jkr|qSr2)latest_versionparsed_version).0distr2r2r3 sz,ListCommand.get_outdated..)iter_packages_latest_infos)r0rMr5r2r2r3rIszListCommand.get_outdatedcCsdd|j||DS)NcSsg|]}|j|jkr|qSr2)rOrP)rQrRr2r2r3rSsz,ListCommand.get_uptodate..)rT)r0rMr5r2r2r3rJszListCommand.get_uptodatecsBtx$|D]}jdd|jDq 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|jB}|j|fdd}x t||D]}|dk r2|Vq2WWdQRXdS)Ncspd}j|j}js$dd|D}j|jd}|j|}|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||\}}|j||nb|jdkrxV|D]4}|jdkrntd|j|j|jqJtd|j|jqJWn|jd krtt ||dS) NcSs |jjS)N)rclower)rRr2r2r3sz4ListCommand.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|jd|t|\}}t|dkrL|jddjtdd|x|D] }t|qRWdS)Nrrt cSsd|S)N-r2)xr2r2r3rssz.)leninsertr joinmapr)r0r{r|Z pkg_stringssizesvalr2r2r3rws     z*ListCommand.output_package_listing_columnsN)__name__ __module__ __qualname____doc__ignore_require_venvusager4r=rNrIrJrHrTrKrwr2r2r2r3r#sM #rcCs|j}|rddddg}nddg}g}|jdks@tdd|DrJ|jd|jdkr^|jd xt|D]l}|j|jg}|r|j|j|j|j|jdkst|r|j|j |jdkr|jt ||j|qdW||fS) z_ Convert the package data into something usable by output_package_listing_columns. ZPackageVersionZLatestZTypertcss|]}t|VqdS)N)r )rQrr2r2r3rWsz%format_for_columns..ZLocationZ Installer) rCrxanyappendrcr`rOrkr ryr)pkgsr5Zrunning_outdatedr|r{Zprojrowr2r2r3rv s(         rvcCszg}xj|D]b}|jtj|jd}|jdkrB|j|d<t||d<|jrbtj|j|d<|j |d<|j |q Wt j |S)N)namer`rtry installerrOrk) rcr text_typer`rxryrrCrOrkrr$dumps)rMr5r{rRinfor2r2r3rz1s     rz)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 getLoggerrloggerrrvrzr2r2r2r3s0                i&