źh"|dZddlZddlZddlZddlmZddlmZddlm Z ddl m Z m Z ddl mZdd lmZmZdd lmZdd lmZdd lmZdd lmZdZdedefdZdedede efdZdedede efdZdedede e efdZdede efdZ dZ!dZ"dZ#dZ$dZ%dedededefd Z&d!Z'dS)"z Handling of Core Metadata for Python packages (including reading and writing). See: https://packaging.python.org/en/latest/specifications/core-metadata/ N)message_from_file)Message)NamedTemporaryFile)OptionalList) rfc822_escape)_normalization_reqs)Marker) Requirement)Version)SetuptoolsDeprecationWarningcXt|dd}|td}||_|S)Nmetadata_version2.1)getattrrr)selfmvs y/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/setuptools/_core_metadata.pyget_metadata_versionrs1 )4 0 0B z U^^ " Icontentreturnc <|}t|dkr|dSd|dt jd|ddfS)zFReverse RFC-822 escaping by removing leading whitespaces from content.r r N) splitlineslenlstripjointextwrapdedent)rliness rrfc822_unescaper$sy    E 5zzQQx   99eAhoo''599M9M)N)NO P PPrmsgfieldc&||}|dkrdS|S)zRead Message header field.UNKNOWNNr%r&values r_read_field_from_msgr,'s JE t LrcHt||}||St|S)z4Read Message header field and apply rfc822_unescape.)r,r$r*s r_read_field_unescaped_from_msgr./s) e , ,E } 5 ! !!rcB||d}|gkrdS|S)z9Read Message header field and return all results as list.N)get_all)r%r&valuess r_read_list_from_msgr27s( [[ % %F ||t Mrcf|}|dks|sdS|S)Nr() get_payloadstrip)r%r+s r_read_payload_from_msgr6?s7 OO   # # % %E t Lrc.t|}t|d|_t|d|_t|d|_t|d|_t|d|_d|_t|d|_ d|_ t|d|_ t|d |_ t|d |_t|d |_|j,|jtd krt!||_t|d|_d |vr(t|d d|_t'|d|_t'|d|_|jtdkr@t'|d|_t'|d|_t'|d|_nd|_d|_d|_t'|d|_dS)z-Reads the metadata values from a file object.zmetadata-versionnameversionsummaryauthorNz author-emailz home-pagez download-urllicense descriptionrkeywords,platform classifierz1.1requiresprovides obsoletesz license-file)rrrr,r8r9r=r; maintainer author_emailmaintainer_emailurl download_urlr.r<long_descriptionr6splitr>r2 platforms classifiersrBrCrD license_files)rfiler%s r read_pkg_filerPFs D ! !C#C(:$;<'%..)P)P 6s ; ;+C;;DS,S*==CCCHH (j99DN*3 ==D ..+C<< +C<< ,S+>>  ,S.AADrcd|vrDd}tjd||dd}|S)zF Quick and dirty validation for Summary pypa/setuptools#1390. rzBnewlines are not allowed in `summary` and will break in the futurezInvalid config.r)remitr5rK)valr%s r single_linerTosN s{{S$)*;SAAAiikk%%a( Jrcd}tj|d} tdd|d5}|j}||dddn #1swxYwYt jtj|j }tj ||t j zt j ztj |||r5tj|rtj|dSdSdS#|r4tj|rtj|wwwxYw)z.Write the PKG-INFO file into the release tree.zPKG-INFOwzutf-8F)encodingdirdeleteN)ospathr rr8write_pkg_filestatS_IMODElstatst_modechmodS_IRGRPS_IROTHreplaceexistsremove)rbase_dirtempfinalf permissionss rwrite_pkg_inform}sq D GLL: . .E  g8E R R R #VW6D    " " " # # # # # # # # # # # # # # #l28D>>#9::  {T\1DL@AAA 4  BGNN4((  IdOOOOO    4 BGNN4((  IdOOOO  s/DA  D A$$D'A$(A2D9Ec|}fd}|dt||d||d||}|r|dt |d}|D]$\}}t ||d}| |||%|} | r|dt| |j D]} |d d | zd | } | r |d | | pg} | D]} |d | |d||d||d||d|t'|dr|d|j|jr|d|j|d|jpgt/||}|rDd|z|dsddSdSdS)z0Write the PKG-INFO format data to a file object.c>|d|ddS)Nz: r)write)keyr+rOs r write_fieldz#write_pkg_file..write_fields( eee,-----rzMetadata-VersionNamerSummary))z Home-pagerH)z Download-URLrI)Authorr;)z Author-emailrF) MaintainerrE)zMaintainer-emailrGNLicensez Project-URLz%s, %sr?KeywordsPlatform ClassifierRequiresProvides Obsoletespython_requireszRequires-PythonzDescription-Content-Typez License-Filez %sr)rstrget_name get_versionget_descriptionrTr get_licenser project_urlsitemsr get_keywords get_platforms _write_listget_classifiers get_requires get_provides get_obsoleteshasattrr~long_description_content_typerN_write_requirementsget_long_descriptionrpendswith)rrOr9rrr:optional_fieldsr&attrattr_valr< project_urlr>rLr@rJs ` rr]r]sZ''))G.....K"CLL111K (((K 4++--...""$$G5 I{733444O')) t4t,,   Kx ( ( (  G7 I}W55666(..00;;  M8k#9::::xx))++,,H* J)))""$$*I** J))))T<)=)=)?)?@@@ T:t'8'8':':;;;T:t'8'8':':;;;T;(:(:(<(<===t&''= %t';<<< )T .0RSSST>4+=+CDDDd###0022 6,,---((..  JJt       rctj|jD]}|d|di}|jD]\}}|d\}}}|}tj |} | rt||| |tj |D]>}t|| |} |d| d?|S)NzRequires-Dist: r:) r parseinstall_requiresrpextras_requirer partitionr5r safe_extra_write_provides_extra parse_strings_include_extra) rrOreqprocessed_extrasaugmented_extrareqs unsafe_extra_ conditionextrars rrrs${4011.. ,S,,,----!%!4!:!:!%>s%C%C" a#))++ ),77  O !$(8% N N N&t,, 0 0CsE9??+<+<==A JJ.... / / / / 0 rrrrct|}|jr d|jdnd|rd|dnd|rd|ndf}tdd|D|_|S)N()z extra ==  and c3K|]}||V dS)Nr)).0xs r z!_include_extra..s'"9"9q"91"9"9"9"9"9"9r)r markerr r )rrrrpartss rrrsCA8-AH%/I4!&0ED E gll"9"9e"9"9"999::AH Hrc ||}||kr#tjdd|d|d|dddS|||<|d|d dS) Nz8Ambiguity during "extra" normalization for dependencies.z rz/ normalize to the same value: zW In future versions, setuptools might halt the build process. z!https://peps.python.org/pep-0685/)see_urlzProvides-Extra: r)getrrRrp)rOrsafeunsafepreviouss rrrs##D))H6$) F    $      8      "( .d.../////r)(__doc__r[r^r!emailr email.messagertempfilertypingrrdistutils.utilrrVr r extern.packaging.markersr extern.packaging.requirementsr extern.packaging.versionrwarningsrrrr$r,r.r2r6rPrTrmr]rrrr)rrrsq  ######!!!!!!''''''!!!!!!!!((((((########,,,,,,666666------222222QSQSQQQQgchsm""" """"WSXd3i5HHSM&B&B&BR   &BBBJ(  C C K    00000r