a  ze<)@sddlZddlZddlZddlmZmZmZmZmZm Z m Z m Z m Z ddl mZddlmZddlmZddlmZmZddlmZmZddlmZmZdd lmZdd lmZe e!Z"Gd d d e Z#dddZ$ee%dddZ&ee#dddZ'GdddZ(dS)N) ContainerDictIterableIteratorList NamedTupleOptionalSetUnion) Requirement)canonicalize_name)Version) BadCommandInstallationError)BaseDistributionget_environment)install_req_from_editableinstall_req_from_line) COMMENT_RE)%direct_url_as_pep440_direct_referencec@s.eZdZUeeed<eed<eeed<dS) _EditableInfo requirementeditablecommentsN)__name__ __module__ __qualname__rstr__annotations__boolrr r a/opt/bitninja-python-dojo/embedded/lib/python3.9/site-packages/pip/_internal/operations/freeze.pyr s  rFr c csni}t|j|d|d}|D]$} t| } |r6| jr6q| || j<q|r4t} tt } |D]} t | p}|D]X}| r| ds| dr| }|| vrr| ||Vqr| ds| dr| dr|dd }n|tdd d}t||d }nttd | |d }|jsRtd | | td qrt|j}||vr| |jstd | td | |jn| |j| qrt|| V||=| |j| qrWdq\1s0Yq\| D]4\}}t|dkrtd|dtt|qdVt|dddD] }|j|vrHt| VqHdS)Nr ) local_onlyskip user_only#) z-rz --requirementz-fz --find-linksz-iz --index-urlz--prez--trusted-hostz--process-dependency-linksz--extra-index-urlz --use-featurez-ez --editable=)isolatedzWSkipping line in requirement file [%s] because it's not clear what it would install: %sz9 (add #egg=PackageName to the URL to avoid this warning)zBRequirement file [%s] contains %s, but package %r is not installedz+Requirement %s included multiple times [%s]z, z7## The following requirements were added by pip freeze:cSs |jSN)namelower)xr r r!zfreeze..)key) riter_installed_distributionsFrozenRequirement from_distrcanonical_nameset collections defaultdictlistopenstrip startswithrstripaddlenlstriprrrsubr,loggerinfor warningappendritemsjoinsortedvalues)rr"r$pathsr(Zexclude_editabler#Z installationsdistsdistreqZemitted_optionsZ req_filesZ req_file_pathreq_filelineZline_reqZline_req_canonical_namer,filesZ installationr r r!freeze&s               4  rQrLreturncCs0t|jtr|jd|jS|jd|jS)Nz==z===) isinstanceversionr raw_name)rLr r r!_format_as_name_versions rWc Cs|jstddgdS|jdurJt|}td|tddd|dgdStjtj |j}dd l m }m }m }||}|durt|}td ||t|dd |dgdSt|j}z|||j}Wn|y t|}t|dd |d |dgdYS|yb} z>t|}t|dd |d|dd| jdgdWYd} ~ Sd} ~ 0tytd||jtddgdYSty} ztd| WYd} ~ nd} ~ 00t|dgdStd|tdddgdS)zk Compute and return values (req, editable, comments) for use in FrozenRequirement.from_dist(). NF)rrrz*Editable requirement not found on disk: %sTz# Editable install not found ()r)RemoteNotFoundErrorRemoteNotValidErrorvcsz1No VCS found for editable requirement "%s" in: %rz,# Editable install with no version control (z # Editable z install with no remote (z install (z4) with either a deleted local remote or invalid URI:z# ''zPcannot determine version of editable source in %s (%s command not found in path)zYError when trying to get requirement for VCS system %s, falling back to uneditable formatz-Could not determine repository location of %sz-## !! Could not determine repository location)rrlocationrWrBrDospathnormcaseabspathpip._internal.vcsrYrZr[get_backend_for_dirdebugtyperget_src_requirementrVurlrr,r) rLZdisplayr]rYrZr[ vcs_backendZvcs_namerMexexcr r r!_get_editable_infos|          rkc@s2eZdZd ddZeeddddZddZd S) r3r cCs&||_t||_||_||_||_dSr+)r,r r5rMrr)selfr,rMrrr r r!__init__s  zFrozenRequirement.__init__rRcCsVt|\}}}|dur4|s4|j}|r4t||j}g}|durDt|}||j|||dS)N)r)rk direct_urlrrVrW)clsrLrMrrrnr r r!r4s zFrozenRequirement.from_distcCs4|j}|jrd|}dt|jt|gdS)Nz-e  )rMrrGr9rr)rlrMr r r!__str__s zFrozenRequirement.__str__N)r )rrrrm classmethodrr4rqr r r r!r3s r3)NFFNFFr ))r7loggingr^typingrrrrrrrr r Z"pip._vendor.packaging.requirementsr pip._vendor.packaging.utilsr Zpip._vendor.packaging.versionr pip._internal.exceptionsrrpip._internal.metadatarrpip._internal.req.constructorsrrZpip._internal.req.req_filer&pip._internal.utils.direct_url_helpersr getLoggerrrBrrQrrWrkr3r r r r!s0,       tS