
    v.g8&                        d dl Z d dlZd dlZd dlmZmZmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZmZ d dlmZmZ d dlmZmZ d dlmZ d d	lmZ  ej        e          Z G d
 de	          Z 	 	 	 	 	 	 	 dde
ee!                  de"de"de
ee!                  de"de"dee!         dee!ddf         fdZ#dede!fdZ$dede fdZ% G d d          Z&dS )    N)	ContainerDict	GeneratorIterableList
NamedTupleOptionalSet)canonicalize_name)Version)
BadCommandInstallationError)BaseDistributionget_environment)install_req_from_editableinstall_req_from_line)
COMMENT_RE)%direct_url_as_pep440_direct_referencec                   0    e Zd ZU eed<   ee         ed<   dS )_EditableInforequirementcommentsN)__name__
__module____qualname__str__annotations__r        m/var/www/html/ws.service.destra.net.br/ws_env/lib/python3.11/site-packages/pip/_internal/operations/freeze.pyr   r      s.         3ir   r   Fr   r   
local_only	user_onlypathsisolatedexclude_editableskipreturnc              #   6  K   i }t          |                              |d|          }|D ]0}	t                              |	          }
|r|
j        r&|
||
j        <   1| rft                      }t          j        t                    }| D ]}t          |          5 }|D ]}|                                r<|                                                    d          s|                    d          r2|                                }||vr|                    |           |V  |                    d          s|                    d          r|                    d          r|dd                                          }n<|t          d          d                                                              d          }t#          ||	          }n6t%          t'          j        d
|                                          |	          }|j        sJt,                              d||                                           t,                              d           t1          |j                  }||vrx||j                 sIt,                              d|t'          j        d
|                                          |j                   $||j                                     |           Ft7          ||                                                   V  ||= ||j                                     |           	 d d d            n# 1 swxY w Y   |                                D ]a\  }}t          |          dk    rIt,                              d|d                    t=          t          |                                         bdV  t=          |                                d           D ].}|j        |vr#t7          |                                          V  /d S )Nr   )r!   r&   r"   #)z-rz--requirementz-fz--find-linksz-iz--index-urlz--prez--trusted-hostz--process-dependency-linksz--extra-index-urlz--use-featurez-ez
--editable   =)r$    zWSkipping 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 installed   z+Requirement %s included multiple times [%s]z, z7## The following requirements were added by pip freeze:c                 4    | j                                         S N)namelower)xs    r    <lambda>zfreeze.<locals>.<lambda>   s    QV\\^^ r   )key) r   iter_installed_distributionsFrozenRequirement	from_disteditablecanonical_namesetcollectionsdefaultdictlistopenstrip
startswithrstripaddlenlstripr   r   r   subr0   loggerinfor   warningappendr   itemsjoinsortedvalues)r   r!   r"   r#   r$   r%   r&   installationsdistsdistreqemitted_options	req_filesreq_file_pathreq_filelineline_reqline_req_canonical_namer0   filesinstallations                        r    freezer[      s      35ME""?? @  E
  0 0))$// 	 	,/c()) ]J
 %(EE +6*A$*G*G	( H	K H	KMm$$ GK$ FK FKD JJLL!::<<22377!  ?? !&  ${{}}66+//555"&JJJ t,, 0M0M ??400 Q#'8>>#3#3DD#'L(9(9(;(;#<#B#B#D#D#K#KC#P#PD#< %-$ $ $
 $9&N2t44::<<%-$ $ $
 $= KG) JJLL	   -   
 3DHM2R2R/2-GG $-X]#; 	O &%B$1$.N2t$<$<$B$B$D$D$,M!" !" !" !" !*(- 8 ? ? N N N N"%m4K&L"M"M"T"T"V"VVVV -.E F%hm4;;MJJJJMFKGK GK GK GK GK GK GK GK GK GK GK GK GK GK GKV %??,, 	 	KD%5zzA~~AIIfSZZ0011   IIII}3355;S;STTT - -&d22l##**,,,,,- -s   JL??M	M	rP   c                 z    t          | j        t                    r| j         d| j         S | j         d| j         S )Nz==z===)
isinstanceversionr   raw_name)rP   s    r    _format_as_name_versionr`      sF    $,(( 2-114<111m.....r   c           	         | j         }|sJ t          j                            t          j                            |                    }ddlm}m}m} |	                    |          }|At          |           }t                              d||           t          |d| dg          S t          |          j        }	 |                    || j                  }	t          |	g           S # |$ r+ t          |           }t          |d| d	| dg          cY S |$ r<}
t          |           }t          |d| d
| dd|
j         dg          cY d}
~
S d}
~
wt&          $ r5 t                              d||j                   t          |g           cY S t,          $ r%}t                              d|           Y d}~nd}~ww xY wt                              d|           t          |dg          S )za
    Compute and return values (req, comments) for use in
    FrozenRequirement.from_dist().
    r   )RemoteNotFoundErrorRemoteNotValidErrorvcsNz1No VCS found for editable requirement "%s" in: %rz,# Editable install with no version control ())r   r   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)z6Error when trying to get requirement for VCS system %sz-Could not determine repository location of %sz-## !! Could not determine repository location)editable_project_locationospathnormcaseabspathpip._internal.vcsrb   rc   rd   get_backend_for_dirr`   rF   debugr   typer   get_src_requirementr_   urlr   rH   r0   r   )rP   rg   locationrb   rc   rd   vcs_backenddisplayvcs_namerQ   exexcs               r    _get_editable_inforx      s   
 !% >$$$$w0I J JKKHOOOOOOOOOO))(33K)$//?	
 	
 	

  OWOOOP
 
 
 	

 K  )H;--hFF8 r::::7  
 
 
)$// QHQQwQQQR
 
 
 	
 	
 	
  	
 	
 	
)$// 0h 0 0' 0 0 0bf
 
 
 	
 	
 	
 	
 	
 	
  @ @ @-		
 	
 	
 B?????? V V VOQTUUUUUUUUV
 NNBHMMMAB   s6   ?C+ +-GG1EG?G	GF??Gc                   f    e Zd Z	 ddedededee         ddf
dZed	edd fd
            Z	defdZ
dS )r6   r   r0   rQ   r8   r   r'   Nc                 f    || _         t          |          | _        || _        || _        || _        d S r/   )r0   r   r9   rQ   r8   r   )selfr0   rQ   r8   r   s        r    __init__zFrozenRequirement.__init__   s4     	/55  r   rP   c                     |j         }|rt          |          \  }}n0g }|j        }|rt          ||j                  }nt          |          } | |j        |||          S )N)r   )r8   rx   
direct_urlr   r_   r`   )clsrP   r8   rQ   r   r~   s         r    r7   zFrozenRequirement.from_dist   su    = 
	4.t44MCHJ 4;JVV .d33s4=#x(CCCCr   c                     | j         }| j        rd| }d                    t          | j                  t          |          gz             dz   S )Nz-e 
)rQ   r8   rK   r=   r   r   )r{   rQ   s     r    __str__zFrozenRequirement.__str__   sL    h= 	++Cyydm,,Cz9::TAAr   )r   )r   r   r   r   boolr   r|   classmethodr   r7   r   r   r   r    r6   r6      s         #%! !! ! 	!
 3-! 
! ! ! ! D- D2E D D D [D B B B B B B Br   r6   )NFFNFFr   )'r;   loggingrh   typingr   r   r   r   r   r   r	   r
   pip._vendor.packaging.utilsr   pip._vendor.packaging.versionr   pip._internal.exceptionsr   r   pip._internal.metadatar   r   pip._internal.req.constructorsr   r   pip._internal.req.req_filer   &pip._internal.utils.direct_url_helpersr   	getLoggerr   rF   r   r   r   r[   r`   rx   r6   r   r   r    <module>r      sk        				 X X X X X X X X X X X X X X X X X X X X 9 9 9 9 9 9 1 1 1 1 1 1 B B B B B B B B D D D D D D D D        2 1 1 1 1 1 X X X X X X		8	$	$    J    (,!%"v- v-$s)$v-v- v- DI	v-
 v- v- C.v- sD$v- v- v- v-r/"2 /s / / / /?- ?- ? ? ? ?D#B #B #B #B #B #B #B #B #B #Br   