U ʗReI$@s,ddlZddlZddlZddlZddlZddlmZmZm Z m Z m Z m Z m Z ddlmZddlmZddlmZmZddlmZddlmZmZmZddlmZdd lmZm Z dd l!m"Z"m#Z#d d l$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*e+e,Z-Gd dde Z.GdddZ/Gddde%Z0Gddde'Z1dS)N) CollectionIterableIteratorListMapping NamedTupleOptional) pkg_resources) Requirement)NormalizedNamecanonicalize_name)parse) InvalidWheelNoneMetadataErrorUnsupportedWheel)egg_link_path_from_location) display_pathnormalize_path) parse_wheelread_wheel_metadata_file)BaseDistributionBaseEntryPointBaseEnvironmentDistributionVersionInfoPathWheelc@s&eZdZUeed<eed<eed<dS) EntryPointnamevaluegroupN)__name__ __module__ __qualname__str__annotations__r&r&/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/metadata/pkg_resources.pyrs rc@seZdZdZeeefeddddZeedddZ eedd d Z ee edd d Z eedd dZ eeedddZeeddddZdS) WheelMetadatazIMetadataProvider that reads metadata files from a dictionary. This also maps metadata decoding exceptions to our internal exception type. N)metadata wheel_namereturncCs||_||_dSN) _metadata _wheel_name)selfr)r*r&r&r'__init__*szWheelMetadata.__init__rr+cCs ||jkSr,)r-r/rr&r&r' has_metadata.szWheelMetadata.has_metadatac CsVz|j|WStk rP}z"td|jd|d|dW5d}~XYnXdS)NzError decoding metadata for z: z in z file)r-decodeUnicodeDecodeErrorrr.)r/rer&r&r' get_metadata1s zWheelMetadata.get_metadatacCst||Sr,)r yield_linesr7r2r&r&r'get_metadata_lines:sz WheelMetadata.get_metadata_linescCsdSNFr&r2r&r&r'metadata_isdir=szWheelMetadata.metadata_isdircCsgSr,r&r2r&r&r'metadata_listdir@szWheelMetadata.metadata_listdir) script_name namespacer+cCsdSr,r&)r/r=r>r&r&r' run_scriptCszWheelMetadata.run_script)r!r"r#__doc__rr$bytesr0boolr3r7rr9r;rr<r?r&r&r&r'r($s r(c@sBeZdZejddddZeeedddZ ee eedd d Z e e ed d d Ze e ed ddZe e ed ddZe ed ddZe ed ddZe ed ddZeedddZeed ddZeedddZeed dd Zej j!d d!d"Z"d)e#eee$d$d%d&Z%eed d'd(Z&dS)* DistributionN)distr+cCs ||_dSr,)_distr/rDr&r&r'r0HszDistribution.__init__) directoryr+c Cs|tj}tj|\}}t||}|drJtj}tj |d}n.|dsXt tj }tj |ddd}||||d}||S)Nz .egg-inforz .dist-info-) project_namer)) rstriposseppathsplitr PathMetadataendswithrCsplitextAssertionErrorDistInfoDistribution) clsrGdist_dirbase_dir dist_dir_namer)dist_cls dist_namerDr&r&r'from_directoryKs   zDistribution.from_directory)wheelrr+c sz>|,t|\}fddD}W5QRXWndtjk rp}zt|j||W5d}~XYn4tk r}zt|d|W5d}~XYnXtj |jt ||j|d}||S)Ncs4i|],}|dr|dddt|qS)/r) startswithrNr).0rMinfo_dirzfr&r' dsz+Distribution.from_wheel..z has an invalid wheel, )locationr)rI) as_zipfilernamelistzipfile BadZipFilerrdrr rSr()rTr[r_ metadata_textr6rDr&r`r' from_wheel_s   $ zDistribution.from_wheelr+cCs|jjSr,)rErdr/r&r&r'rdtszDistribution.locationcCs.t|j}|r|}n|jr"|j}ndSt|Sr,)rraw_namerdr)r/egg_linkrdr&r&r'installed_locationxs zDistribution.installed_locationcCs|jjSr,)rEegg_informr&r&r' info_locationszDistribution.info_locationcCs,zt|jjjWStk r&YdSXdSr:)rBrE _providerrMAttributeErrorrmr&r&r'installed_by_distutilssz#Distribution.installed_by_distutilscCs t|jjSr,)r rErIrmr&r&r'canonical_nameszDistribution.canonical_namecCs t|jjSr,) parse_versionrEversionrmr&r&r'rxszDistribution.version)rMr+cCs|jt|Sr,)rEr3r$)r/rMr&r&r'is_fileszDistribution.is_fileccs|jdEdHdS)Nscripts)rEr<rmr&r&r'iter_distutils_script_namessz(Distribution.iter_distutils_script_namescCs>t|}|j|st||j|}|dkr:t|||Sr,)r$rEr3FileNotFoundErrorr7r)r/rMrcontentr&r&r' read_texts   zDistribution.read_textccsZ|jD]F\}}|D]4\}}t|d\}}}t|||dVqqdS)N=)rrr )rE get_entry_mapitemsr$ partitionrstrip)r/r entriesr entry_pointrirr&r&r'iter_entry_pointsszDistribution.iter_entry_pointscCst|jtjrd}nd}z||}Wn@tk rf|jrHt|j}n t|j}t d|d}YnXt j }|||S)z :raises NoneMetadataError: if the distribution reports `has_metadata()` True but `get_metadata()` returns None. METADATAzPKG-INFOzNo metadata found in %s) isinstancerEr rSr~r|rdrreprloggerwarningemailparser FeedParserfeedclose)r/ metadata_namer)displaying_path feed_parserr&r&r'_metadata_impls      zDistribution._metadata_implr&)extrasr+cCs"|rt||jj}|j|Sr,) frozenset intersectionrErrequires)r/rr&r&r'iter_dependenciesszDistribution.iter_dependenciescCs|jjSr,)rErrmr&r&r'iter_provided_extrassz!Distribution.iter_provided_extras)r&)'r!r"r#r rCr0 classmethodr$rrZrrkpropertyrrdrprrrBrur rvrrxrryrr{r~rrrrmessageMessagerrr rrr&r&r&r'rCGs0   rCc@seZdZejddddZeedddZee e e edd d Z e edd d Ze e ed ddZe e ed ddZdS) EnvironmentN)wsr+cCs ||_dSr,)_ws)r/rr&r&r'r0szEnvironment.__init__rlcCs |tjSr,)r working_set)rTr&r&r'defaultszEnvironment.default)pathsr+cCs|t|Sr,)r WorkingSet)rTrr&r&r' from_pathsszEnvironment.from_pathsccs|jD]}t|VqdSr,)rrCrFr&r&r'_iter_distributionss zEnvironment._iter_distributionsr1cCs,t|}|D]}|j|kr|SqdS)zFind a distribution matching the ``name`` in the environment. This searches from *all* distributions available in the environment, to match the behavior of ``pkg_resources.get_distribution()``. N)r iter_all_distributionsrv)r/rrvrDr&r&r'_search_distributions    z Environment._search_distributioncCsF||}|r|Sz|j|Wntjk r:YdSX||Sr,)rrrequirer DistributionNotFound)r/rrDr&r&r'get_distributions  zEnvironment.get_distribution)r!r"r#r rr0rrrrrr$rrrrrrr&r&r&r'rs r)2 email.messager email.parserloggingrKrgtypingrrrrrrr pip._vendorr "pip._vendor.packaging.requirementsr pip._vendor.packaging.utilsr r Zpip._vendor.packaging.versionr rwpip._internal.exceptionsrrrpip._internal.utils.egg_linkrpip._internal.utils.miscrrpip._internal.utils.wheelrrbaserrrrrr getLoggerr!rrr(rCrr&r&r&r's($     #