h4ddlZddlmZddlmZmZmZmZmZm Z ddl m Z ddl m Z ddlmZddlmZmZddlmZmZdd lmZejeZGd d eZGd d eZdeedeeddffdZdeedededefdZ dS)N)Values) GeneratorIterableIteratorList NamedTupleOptional)InvalidRequirementcanonicalize_name)Command)ERRORSUCCESS)BaseDistributionget_default_environment) write_outputcBeZdZdZdZdZd dZdedee de fd Z dS) ShowCommandzx Show information about one or more installed packages. The output is in RFC-compliant mail header format. z$ %prog [options] ...TreturnNc|jdddddd|jd|jdS) Nz-fz--filesfiles store_trueFz7Show the full list of installed files for each package.)destactiondefaulthelpr)cmd_opts add_optionparserinsert_option_group)selfs {/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/pip/_internal/commands/show.py add_optionszShowCommand.add_optionssU    J !    ''4=99999optionsargsc|s!tdtS|}t|}t ||j|jstStS)Nz.ERROR: Please provide a package name or names.) list_filesverbose)loggerwarningrsearch_packages_info print_resultsrr)r)r!r%r&queryresultss r"runzShowCommand.run'sb  NNK L L LL&u--  w    Lr$)rN) __name__ __module__ __qualname____doc__usageignore_require_venvr#rrstrintr0r$r"rrsl  'E : : : : 6 c s      r$rc$eZdZUeed<eed<eed<eeed<eeed<eeed<eed<eed<eeed <eed <eed <eeed <eed <eed<eed<eed<eeed<eeeed<dS) _PackageInfonameversionlocationeditable_project_locationrequires required_by installermetadata_version classifierssummaryhomepage project_urlsauthor author_emaillicenselicense_expression entry_pointsrN)r1r2r3r7__annotations__r rr9r$r"r;r;5s III LLLMMM'},,,3icNNNc LLLMMMs) KKK LLLs) DI r$r;r.rc #Kt}d|Dd|D}tfdt||D}|r.tdd|dtdttffd }|D]} |}n#t$rYwxYw td | Dtj }n=#t$r0t|tj }YnwxYw t||tj }n#t$rd g}YnwxYw |d } | d } n#t"$rg} YnwxYw|} | d} nt| } |j} | dg}| dd}|s|D]}|dd\}}|dddd}|dkr|}nt5d0id|jd|jd|jpdd|jd|d|d|jd |j pdd!| d"gd#| d$dd|d%|d&| d'dd(| d)dd*| d+dd,| d-dd.| d/| VdS)1z Gather details from installed distributions. Print distribution name, version, location, and installed files. Installed files requires a pip generated 'installed-files.txt' in the distributions '.egg-info' directory. ci|] }|j| Sr9)canonical_name).0dists r" z(search_packages_info..SsTTTt$dTTTr$c,g|]}t|Sr9r )rQr<s r" z(search_packages_info..Ts!===t$T**===r$c"g|] \}}|v | Sr9r9)rQr<pkg installeds r"rUz(search_packages_info..Vs'OOO)$#Y:N:N:N:N:Nr$zPackage(s) not found: %s, current_distrcFfdDS)Nc3K|]8}jd|Dv'|jdpdV9dS)c6h|]}t|jSr9)r r<)rQds r" zRsearch_packages_info.._get_requiring_packages...`s#LLLa!!&))LLLr$NameUNKNOWNN)rPiter_dependenciesmetadata)rQrRrZs r" zHsearch_packages_info.._get_requiring_packages..\sv  *LL43I3I3K3KLLLMM M& ! .YMMMM  r$)values)rZrXs`r"_get_requiring_packagesz5search_packages_info.._get_requiring_packages[s;    !((**    r$ch|] }|j Sr9)r<)rQreqs r"r_z'search_packages_info..ls>>>c>>>r$)keyz#N/Azentry_points.txtF)keependsNz Project-URLz Home-page,)maxsplit-_rFr<r=r>r?r@rArBrCrD ClassifierrESummaryrGrHAuthorrIz Author-emailrJLicenserKzLicense-ExpressionrLrr9)!riter_all_distributionssortedzipr*r+joinrrr7KeyErrorrblowerr iter_raw_dependencies read_text splitlinesFileNotFoundErroriter_declared_entriesrcget_allgetsplitcasefoldreplacestripr;raw_name raw_versionr>r?rBrC)r.env query_namesmissingrf query_namerRr@rAentry_points_textrL files_iterrrcrGrFurl url_labelnormalized_labelrXs @r"r,r,Js " # #CTTs7Q7Q7S7STTTI==u===KOOOOs5+66OOOGG1499W3E3EFFF .> 8C=      "E E  Z(DD    H  K>>T%;%;%=%=>>>IHH " K K Kd88:: JJJHHH K # !8!8!>!>CINNNKK! # # #!(KKK #  $/A B B ,777GGLL    LLL //11  )-EE:&&E='' r:: << R00  $  !$3!;!; 3&&((00b99AA#rJJPPRR!$z11"yy{{HE2    $$ ](b '+&D&D  X  $  nn "28b !((r::: LLB/// X & <<"--- "nb999 LLB/// (||,@"EEE! "&# $%%     eE E sH:C CC7D  7EE $E// E?>E?+F// F>=F> distributionsr(r)c dd}t|D]\}}d}|dkrtdttt|jd}td|jtd|jtd|j td |j td |j td |j |d kr|j rtd |j ntd|jtd|j|jtd|jtdd|jtdd|j|rtd|jtd|jtd|jD]}td|td|jD]$}td|%td|jD]} td| |rStd|jtdp|jD]$} td| %|S)zC Print the information from installed distributions found. FTrz---.zName: %sz Version: %sz Summary: %sz Home-page: %sz Author: %szAuthor-email: %s)zLicense-Expression: %sz License: %sz Location: %sNzEditable project location: %sz Requires: %srYzRequired-by: %szMetadata-Version: %sz Installer: %sz Classifiers:z %sz Entry-points:z Project-URLs:zFiles:z+Cannot locate RECORD or installed-files.txt) enumeratertuplemapr8rCrr<r=rErFrHrIrKrJr>r?rxr@rArBrDrLrrGr) rr(r)results_printedirRmetadata_version_tuple classifierentry project_urllines r"r-r-sO]+++7+74 q55    !&s30E0K0KC0P0P'Q'Q!R!RZ+++]DL111]DL111_dm444\4;///'):;;; !V + +0G + 143J K K K K  5 5 5^T]333  ) 5 /1O    ^TYYt}%=%=>>>& $2B(C(CDDD  2 /1F G G G $. 9 9 9  ( ( (". 1 1 VZ0000  ) ) )* 4 4VU[[]]3333  ) ) )#0 2 2 V[1111  7  " " "z!JKKKK J77D 6666 r$)!loggingoptparsertypingrrrrrr "pip._vendor.packaging.requirementsr pip._vendor.packaging.utilsr pip._internal.cli.base_commandr pip._internal.cli.status_codesrrpip._internal.metadatarrpip._internal.utils.miscr getLoggerr1r*rr;r7r,boolr-r9r$r"rsLLLLLLLLLLLLLLLLAAAAAA99999922222299999999LLLLLLLL111111  8 $ $"""""'"""J:*^ S ^ i dD8P.Q^ ^ ^ ^ B5L)555 555555r$