U e5dD @sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlmZddlmZddlmZddlmZddl mZddd d d d d dddg ZGdd d eZGddde ddZGdddejZGdddZGdddZGdddeZ GdddZ!GdddZ"Gd d!d!e Z#Gd"d#d#eZ$d$d Z%d%d Z&d&dZ'd'dZ(d(d Z)d)d Z*d*dZ+dS)+N) ConfigParser)suppress) import_module)MetaPathFinder)starmap DistributionDistributionFinderPackageNotFoundError distribution distributions entry_pointsfilesmetadatarequiresversionc@s eZdZdS)r N)__name__ __module__ __qualname__rr*/usr/lib64/python3.8/importlib/metadata.pyr %sc@sReZdZedZddZeddZe ddZ e dd Z d d Z d d Z dS) EntryPointzH(?P[\w.]+)\s*(:\s*(?P[\w.]+)\s*)?((?P\[.*\])\s*)?$cCsD|j|j}t|d}td|dp,dd}tt ||S)Nmoduleattr.) patternmatchvaluergroupfiltersplit functoolsreducegetattr)selfrrZattrsrrrloadGszEntryPoint.loadcCs(|j|j}ttd|dp"dS)Nz\w+extrasr)rrrlistrefinditerr)r$rrrrr&QszEntryPoint.extrascsfddDS)Ncs,g|]$}|D]\}}|||qqSritems).0rnamerclsconfigrr Xs z+EntryPoint._from_config..)sectionsr.rr.r _from_configVs zEntryPoint._from_configcCsNtdd}t|_z||Wn$tk rB|t|YnXt |S)N=)Z delimiters) rstrZ optionxformZ read_stringAttributeErrorZreadfpioStringIOrr3)r/textr0rrr _from_text^s zEntryPoint._from_textcCst|j|fSN)iterr-r$rrr__iter__jszEntryPoint.__iter__cCs|j|j|j|jffSr;) __class__r-rrr=rrr __reduce__pszEntryPoint.__reduce__N)rrrr(compilerr%propertyr& classmethodr3r:r>r@rrrrr)s     rZEntryPointBasezname value groupc@s&eZdZd ddZddZddZdS) PackagePathutf-8c Cs0|j|d}|W5QRSQRXdS)Nencodinglocateopenread)r$rGstreamrrr read_textzszPackagePath.read_textc Cs.|d}|W5QRSQRXdS)NrbrH)r$rLrrr read_binary~szPackagePath.read_binarycCs |j|Sr;)dist locate_filer=rrrrIszPackagePath.locateN)rE)rrrrMrOrIrrrrrDws rDc@seZdZddZddZdS)FileHashcCs|d\|_}|_dS)Nr4) partitionmoder)r$spec_rrr__init__szFileHash.__init__cCsd|j|jS)Nz)formatrTrr=rrr__repr__szFileHash.__repr__N)rrrrWrYrrrrrRsrRc@seZdZejddZejddZeddZeddZ e d d Z e d d Z e d dZe ddZe ddZe ddZddZddZe ddZddZddZedd Ze d!d"Ze d#d$Zd%S)&rcCsdSr;rr$filenamerrrrMszDistribution.read_textcCsdSr;rr$pathrrrrQszDistribution.locate_filecCsD|D].}|tj|d}t|d}|dk r|Sqt|dS)Nr-)_discover_resolversrContextnextr )r/r-resolverZdistsrPrrr from_names   zDistribution.from_namec sJ|ddr|rtdp*tjf|tjfdd|DS)Ncontextz cannot accept context and kwargsc3s|]}|VqdSr;r)r,rbrdrr sz(Distribution.discover..)pop ValueErrorrr` itertoolschain from_iterabler_)r/kwargsrrerdiscovers zDistribution.discovercCstt|Sr;)PathDistributionpathlibPath)r]rrratszDistribution.atcCsddtjD}td|S)Ncss|]}t|ddVqdS)find_distributionsN)r#)r,finderrrrrfsz3Distribution._discover_resolvers..)sys meta_pathr)Zdeclaredrrrr_sz Distribution._discover_resolverscCs(|dp|dp|d}t|S)NZMETADATAzPKG-INFOr)rMemailZmessage_from_stringr$r9rrrrs  zDistribution.metadatacCs |jdS)NZVersion)rr=rrrrszDistribution.versioncCst|dS)Nzentry_points.txt)rr:rMr=rrrr szDistribution.entry_pointscs6p}dfdd }|o4tt|t|S)Ncs6t|}|rt|nd|_|r&t|nd|_|_|Sr;)rDrRhashintsizerP)r-rxZsize_strresultr=rr make_files z%Distribution.files..make_file)NN)_read_files_distinfo_read_files_egginfor'rcsvreader)r$Z file_linesr|rr=rr s zDistribution.filescCs|d}|o|S)NZRECORD)rM splitlinesrwrrrr}s z!Distribution._read_files_distinfocCs|d}|otdj|S)Nz SOURCES.txtz"{}")rMmaprXrrwrrrr~s z Distribution._read_files_egginfocCs|p|}|ot|Sr;)_read_dist_info_reqs_read_egg_info_reqsr')r$ZreqsrrrrszDistribution.requirescCs |jdS)Nz Requires-Dist)rZget_allr=rrrrsz!Distribution._read_dist_info_reqscCs|d}|o||S)Nz requires.txt)rM_deps_from_requires_text)r$sourcerrrr s z Distribution._read_egg_info_reqscCs4||}ddt|tdD}||S)NcSs&i|]\}}|tttd|qS)line)r'roperator itemgetter)r,sectionZresultsrrr 'sz9Distribution._deps_from_requires_text..r)_read_sectionsrrigroupbyrr%_convert_egg_info_reqs_to_simple_reqs)r/rZ section_pairsr2rrrr$s z%Distribution._deps_from_requires_textccs<d}td|D](}td|}|r.|d}qtVqdS)Nz \[(.*)\]$)rr(rrlocals)linesrrZ section_matchrrrr.s  zDistribution._read_sectionsc#sBddfdd}|D] \}}|D]}|||Vq(qdS)NcSs|odj|dS)Nzextra == "{name}"r^)rXr^rrrmake_conditionCszJDistribution._convert_egg_info_reqs_to_simple_reqs..make_conditioncsX|pd}|d\}}}|r,|r,dj|d}ttd||g}|rTdd|SdS)Nr:z ({markers}))markersz; z and )rSrXr'rjoin)rZextraseprZ conditionsrrrparse_conditionFs  zKDistribution._convert_egg_info_reqs_to_simple_reqs..parse_conditionr*)r2rrZdepsZdeprrrr8s  z2Distribution._convert_egg_info_reqs_to_simple_reqsN)rrrabcabstractmethodrMrQrCrcrm staticmethodrqr_rBrrr r r}r~rrrrrrrrrrrs@             c@s.eZdZGdddZejefddZdS)rc@s$eZdZdZddZeddZdS)zDistributionFinder.ContextNcKst||dSr;)varsupdate)r$rlrrrrWjsz#DistributionFinder.Context.__init__cCst|dtjS)Nr])rgetrtr]r=rrrr]mszDistributionFinder.Context.path)rrrr-rWrBr]rrrrr`Xs r`cCsdSr;r)r$rdrrrrrwsz%DistributionFinder.find_distributionsN)rrrr`rrrrrrrrrSsc@s<eZdZddZddZddZddZd d Zd d Zd S)FastPathcCs||_tj||_dSr;)rootosr]basenamelowerbase)r$rrrrrWszFastPath.__init__cCst|j|Sr;)rorpr)r$childrrrjoinpathszFastPath.joinpathc CsTttt|jpdW5QRSQRXtt|W5QRSQRXgS)Nr)r Exceptionrlistdirr zip_childrenr=rrrchildrens  " zFastPath.childrencCs2t|j}|j}|j|_tdd|DS)Ncss |]}|tjddVqdS)rrN)r posixpathr)r,rrrrrfsz(FastPath.zip_children..)zipfilerprZnamelistrdictfromkeys)r$Zzip_pathnamesrrrrs    zFastPath.zip_childrencCs&|j}||jkp$||jo$|dS)N.egg)rversionless_egg_name startswithprefixendswith)r$searchrrrris_eggs   zFastPath.is_eggccsZ|D]L}|}||jksH||jr6||jsH||r|dkr||VqdS)Nzegg-info) rr exact_matchesrrrsuffixesrr)r$r-rZn_lowrrrrs    zFastPath.searchN) rrrrWrrrrrrrrrrs  rc@s2eZdZdZdZdZdgddZdZddZdS)Preparedr)z .dist-infoz .egg-infoNrcsV|_|dkrdS|dd_jd_fddjD_jd_dS)N-rVcsg|]}j|qSr) normalized)r,suffixr=rrr1sz%Prepared.__init__..r)r-rreplacerrrrr)r$r-rr=rrWs  zPrepared.__init__) rrrrrrrrrWrrrrrs rc@s,eZdZeefddZeddZdS)MetadataPathFindercCs||j|j}tt|Sr;) _search_pathsr-r]rrn)r/rdfoundrrrrrs z%MetadataPathFinder.find_distributionscs tjfddtt|DS)Nc3s|]}|tVqdSr;)rr)r,r]r^rrrfsz3MetadataPathFinder._search_paths..)rirjrkrr)r/r-pathsrr^rrsz MetadataPathFinder._search_pathsN)rrrrCrr`rrrrrrrrs rc@s.eZdZddZddZejje_ddZdS)rncCs ||_dSr;)_pathr\rrrrWszPathDistribution.__init__c Cs<tttttt"|j|jddW5QRSQRXdS)NrErF) rFileNotFoundErrorIsADirectoryErrorKeyErrorNotADirectoryErrorPermissionErrorrrrMrZrrrrMs zPathDistribution.read_textcCs |jj|Sr;)rparentr\rrrrQszPathDistribution.locate_fileN)rrrrWrMr__doc__rQrrrrrns rncCs t|Sr;)rrcZdistribution_namerrrr scKs tjf|Sr;)rrm)rlrrrr scCs t|jSr;)rrcrrrrrrscCs t|jSr;)r rrrrrr scCsHtjddtD}td}t||d}t||}dd|DS)Ncss|] }|jVqdSr;)r )r,rPrrrrfszentry_points..r)keycSsi|]\}}|t|qSr)tuple)r,repsrrrrsz entry_points..)rirjrkr r attrgettersortedr)rZby_groupZorderedZgroupedrrrr s    cCs t|jSr;)r r rrrrr %scCs t|jSr;)r rrrrrr.s),r7rr(rrrtrvrorrr!rir collectionsZ configparserr contextlibr importlibr importlib.abcrr__all__ModuleNotFoundErrorr namedtuplerZ PurePosixPathrDrRrrrrrrnr r rrr r rrrrrsb       NE/0