7i ddlZddlmZddlmZmZmZmZmZm Z ddl m Z ddl m Z ddlmZmZddlmZmZddlmZej,eZGd d e ZGd d eZd eedeeddffdZdeedededefdZy)N)Values) GeneratorIterableIteratorList NamedTupleOptional)canonicalize_name)Command)ERRORSUCCESS)BaseDistributionget_default_environment) write_outputc:eZdZdZdZdZd dZdedee de fd Z y) ShowCommandzx Show information about one or more installed packages. The output is in RFC-compliant mail header format. z$ %prog [options] ...TreturnNc|jjdddddd|jjd|jy) Nz-fz--filesfiles store_trueFz7Show the full list of installed files for each package.)destactiondefaulthelpr)cmd_opts add_optionparserinsert_option_group)selfs d/mnt/ssd/data/python-lab/ChefSystem/venv/lib/python3.12/site-packages/pip/_internal/commands/show.py add_optionszShowCommand.add_optionssE    J !  ''4==9optionsargsc|stjdtS|}t|}t ||j |j stStS)Nz.ERROR: Please provide a package name or names.) list_filesverbose)loggerwarningr search_packages_info print_resultsrr'r )rr#r$queryresultss r runzShowCommand.run&sI NNK LL&u-  w Lr")rN) __name__ __module__ __qualname____doc__usageignore_require_venvr!rrstrintr.r"r rrs7  'E : 6 c s r"rceZdZUeed<eed<eed<eeed<eeed<eeed<eed<eed<eeed <eed <eed <eeed <eed <eed<eed<eeed<eeeed<y) _PackageInfonameversionlocationeditable_project_locationrequires required_by installermetadata_version classifierssummaryhomepage project_urlsauthor author_emaillicense entry_pointsrN)r/r0r1r5__annotations__r rr7r"r r9r94s I LM'},3icNc LMs) K Ls) DI r"r9r,rc #8Kt}|jDcic]}|j|c}|Dcgc] }t|}}t t ||Dcgc] \}}|vs |c}}}|r%t jddj|dtdttffd }|D]} |}t d|jDtj} t ||tj} |jd} | j!d } |j%} | d }n t | }|j&}t)d%id |j*d t|j,d|j.xsdd|j0d| d| d|j2d|j4xsdd|j7dgd|j9ddd|j9ddd|j7dgd|j9ddd|j9d dd!|j9d"dd#| d$|y cc}wcc}wcc}}w#t$rYwxYw#t"$rg} YYwxYww)&z 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. zPackage(s) not found: %s, current_distrc8fdjDS)Nc3K|]T}j|jDchc]}t|jc}vr|jdxsdVycc}ww)NameUNKNOWNN)canonical_nameiter_dependenciesr r:metadata).0distdrMs r zHsearch_packages_info.._get_requiring_packages..Zs` **373I3I3KLa!!&&)LM MM& ! .Y . Ms"A"A!A")values)rM installeds`r _get_requiring_packagesz5search_packages_info.._get_requiring_packagesYs !((*  r"c34K|]}|jyw)N)r:)rUreqs r rXz'search_packages_info..gsH388Hs)keyzentry_points.txtF)keependsNr:r;r<r=r>r?r@rArB ClassifierrCSummaryrDz Home-pagerEz Project-URLrFAuthorrGz Author-emailrHLicenserIrr7)riter_all_distributionsrRr sortedzipr(r)joinrrr5KeyErrorrSlower read_text splitlinesFileNotFoundErroriter_declared_entriesrTr9raw_namer;r<r=r@rAget_allget)r,envrVr: query_namespkgmissingr[ query_namer>r?entry_points_textrI files_iterrrTrZs @r r*r*Hs " #C7:7Q7Q7STt$$d*TI7<=t$T*=K="5+6O)$#Y:NOG1499W3EF .> 8C= ")  Z(DHt/E/E/GHciiX4T: J   $/A B ,777GL//1  )-E:&E==   % ]](b '+&D&D    $  nn "228b !((r: LLB/ \\+r2 "))-< <<"- "nb9 LLB/ &! "#  /) !U=O    ! L swJI(JI- J# I2 0I2 4AJI8AJ#J=D;J8 JJJJ JJJJ distributionsr&r'cd}t|D];\}}d}|dkDr tdtd|jtd|jtd|jtd|j td |j td |jtd |jtd |j|jtd |jtddj|jtddj|j|rtd|jtd|jtd|j D]}td|td|j"D]}td|j%td|j&D]}td||std|j( td|j(D]} td| j%>|S)zC Print the information from installed distributions found. FTrz---zName: %sz Version: %sz Summary: %sz Home-page: %sz Author: %szAuthor-email: %sz License: %sz Location: %szEditable project location: %sz Requires: %srLzRequired-by: %szMetadata-Version: %sz Installer: %sz Classifiers:z %sz Entry-points:z Project-URLs:zFiles:z+Cannot locate RECORD or installed-files.txt) enumeraterr:r;rCrDrFrGrHr<r=rhr>r?rAr@rBrIstriprEr) ryr&r'results_printedirV classifierentry project_urllines r r+r+sO]+&74 q5  Z+]DLL1]DLL1_dmm4\4;;/'):):;]DLL1^T]]3  ) ) 5 /1O1O  ^TYYt}}%=>& $2B2B(CD  /1F1F G $.. 9  (".. 1 VZ0 1  )** 4VU[[]3 4  )#00 2 V[1 2   "zz!JK JJ7D 67K&7N r")loggingoptparsertypingrrrrrr pip._vendor.packaging.utilsr pip._internal.cli.base_commandr pip._internal.cli.status_codesr r pip._internal.metadatarrpip._internal.utils.miscr getLoggerr/r(rr9r5r*boolr+r7r"r rsLL929L1   8 $"'"J:(B S B i dD8P.QB J0L)000 0r"