U n a'@sddlmZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZdd lmZdd lmZmZmZmZdd lmZeeZGd d d e ZddZddZdS))absolute_importN)six) cmdoptions)IndexGroupCommand) CommandError) PackageFinder)SelectionPreferences)make_link_collector)dist_is_editableget_installed_distributionstabulate write_output) get_installercsdeZdZdZdZfddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ ZS) ListCommandzt List installed packages, including editables. Packages are listed in a case-insensitive sorted order. z %prog [options]cstt|j|||j}|jdddddd|jddddd d|jd d ddd d|jd ddddd|jjdddddd|t|jddddd|jddddddd|jddddd |jd!d"d#d$d |jd%dd#d&d'd(ttj|j }|j d)||j d)|dS)*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)rfreezejsonzBSelect 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) superr__init__cmd_opts add_optionr list_pathmake_option_group index_groupparserinsert_option_group)selfargskwr! index_opts __class__\C:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-6mt8ur68\pip\_internal\commands\list.pyr &s zListCommand.__init__cCs(t||d}td|jd}tj||dS)zK Create a package finder appropriate to this list command. )optionsF) allow_yankedallow_all_prereleases)link_collectorselection_prefs)r rprercreate)r(r0sessionr3r4r.r.r/_build_package_findervs z!ListCommand._build_package_findercCs|jr|jrtdt|t|j|j|j|j |j d}|j rL| ||}|jr`| ||}n|jrr|||}|||dS)Nz5Options --outdated and --uptodate cannot be combined.) local_only user_onlyeditables_onlyinclude_editablespaths)outdatedZuptodaterrcheck_list_path_optionr localreditablerpathrget_not_required get_outdated get_uptodateoutput_package_listing)r(r0r)packagesr.r.r/runs&     zListCommand.runcCsdd|||DS)NcSsg|]}|j|jkr|qSr.latest_versionparsed_version.0distr.r.r/ s z,ListCommand.get_outdated..iter_packages_latest_infosr(rGr0r.r.r/rDs zListCommand.get_outdatedcCsdd|||DS)NcSsg|]}|j|jkr|qSr.rIrLr.r.r/rOs z,ListCommand.get_uptodate..rPrRr.r.r/rEs zListCommand.get_uptodatecs:t|D]}dd|Dq fdd|DS)Ncss|] }|jVqdSNkey)rM requirementr.r.r/ sz/ListCommand.get_not_required..csh|]}|jkr|qSr.rT)rMpkgZdep_keysr.r/ s z/ListCommand.get_not_required..)setupdaterequires)r(rGr0rNr.rYr/rCszListCommand.get_not_requiredc #sR|>}||fdd}t||D]}|dk r0|Vq0W5QRXdS)Ncspd}|j}js$dd|D}j|jd}||}|dkrHdS|j}|jjr\d}nd}||_ ||_ |S)NunknowncSsg|]}|jjs|qSr.)version is_prerelease)rM candidater.r.r/rOszOListCommand.iter_packages_latest_infos..latest_info..) project_namewheelsdist) find_all_candidatesrUr5make_candidate_evaluatorrbsort_best_candidater_linkis_wheelrJlatest_filetype)rNtypZall_candidatesZ evaluatorbest_candidateremote_versionfinderr0r.r/ latest_infos"  z;ListCommand.iter_packages_latest_infos..latest_info)_build_sessionr8map)r(rGr0r7rprNr.rnr/rQs   z&ListCommand.iter_packages_latest_infoscCst|ddd}|jdkr:|r:t||\}}|||n^|jdkr|D]4}|jdkrltd|j|j|jqHtd|j|jqHn|jd krtt ||dS) NcSs |jSrS)rblower)rNr.r.r/z4ListCommand.output_package_listing..rTrrz %s==%s (%s)z%s==%sr) sortedrformat_for_columnsoutput_package_listing_columnsverboser rbr_locationformat_for_json)r(rGr0dataheaderrNr.r.r/rFs"   z"ListCommand.output_package_listingcCsbt|dkr|d|t|\}}t|dkrL|ddtdd||D] }t|qPdS)Nrrv cSsd|S)N-r.)xr.r.r/rtruz.)leninsertr joinrrr )r(r}r~Z pkg_stringssizesvalr.r.r/rys    z*ListCommand.output_package_listing_columns)__name__ __module__ __qualname____doc__usager r8rHrDrErCrQrFry __classcell__r.r.r,r/rs P!rcCs|j}|rddddg}nddg}g}|jdks@tdd|DrJ|d|jdkr^|d |D]l}|j|jg}|r||j||j|jdkst|r||j |jdkr|t |||qb||fS) z_ Convert the package data into something usable by output_package_listing_columns. PackageVersionZLatestTypervcss|]}t|VqdSrS)r )rMrr.r.r/rWsz%format_for_columns..ZLocationZ Installer) r>rzanyappendrbr_rJrjr r{r)pkgsr0Zrunning_outdatedr~r}Zprojrowr.r.r/rxs(         rxcCsvg}|D]b}|jt|jd}|jdkr@|j|d<t||d<|jr`t|j|d<|j |d<| |qt |S)N)namer_rvr{ installerrJrj) rbr text_typer_rzr{rr>rJrjrrdumps)rGr0r}rNinfor.r.r/r|s      r|) __future__rrlogging pip._vendorrZpip._internal.clirpip._internal.cli.req_commandrpip._internal.exceptionsr"pip._internal.index.package_finderr$pip._internal.models.selection_prefsr!pip._internal.self_outdated_checkr pip._internal.utils.miscr r r r pip._internal.utils.packagingr getLoggerrloggerrrxr|r.r.r.r/s          ]%