
    dh~&                    h   d dl mZ d dlZd dlZd dlZd dlmZmZmZ d dl	m
Z
mZ d dlmZ d dlmZ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dZ$ddZ%ddZ& e
d       G d d             Z'y)    )annotationsN)	Container	GeneratorIterable)	dataclassfield)
NamedTuple)NormalizedNamecanonicalize_name)InvalidVersion)
BadCommandInstallationError)BaseDistributionget_environment)install_req_from_editableinstall_req_from_line)
COMMENT_RE)%direct_url_as_pep440_direct_referencec                  "    e Zd ZU ded<   ded<   y)_EditableInfostrrequirementz	list[str]commentsN)__name__
__module____qualname____annotations__     a/var/www/html/vivango/api/ia/venv/lib/python3.12/site-packages/pip/_internal/operations/freeze.pyr   r      s    r   r   c              #    K   i }t        |      j                  |d|      }|D ]5  }	t        j                  |	      }
|r|
j                  r'|
||
j
                  <   7 | rt               }t        j                  t              }| D ]>  }t        |      5 }|D ]   }|j                         r0|j                         j                  d      s|j                  d      r*|j                         }||vr|j                  |       | n|j                  d      r^|j                  d      r|dd  j                         }n+|t        d      d  j                         j!                  d	      }t#        ||
      }n/t%        t'        j(                  d|      j                         |
      }|j*                  s<t,        j/                  d||j                                t,        j/                  d       Tt1        |j*                        }||vru||j*                     sFt,        j3                  d|t'        j(                  d|      j                         |j*                         ||j*                     j5                  |       t7        ||         j                          ||= ||j*                     j5                  |       # 	 d d d        A |j9                         D ]L  \  }}t        |      dkD  st,        j3                  d|dj;                  t=        t        |                         N d t=        |j?                         d       D ],  }|j
                  |vst7        |      j                          . y # 1 sw Y   xY ww)Nr   )
local_onlyskip	user_only#)z-rz--requirementz-fz--find-linksz-iz--index-urlz--prez--trusted-hostz--process-dependency-linksz--extra-index-urlz--use-feature)-e
--editabler&      r'   =)isolated 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                6    | j                   j                         S N)namelower)xs    r    <lambda>zfreeze.<locals>.<lambda>   s    QVV\\^ 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   subr/   loggerinfor   warningappendr   itemsjoinsortedvalues)r   r"   r$   pathsr*   exclude_editabler#   installationsdistsdistreqemitted_options	req_filesreq_file_pathreq_filelineline_reqline_req_canonical_namer/   filesinstallations                        r    freezer\      sE     35ME"?? @ E
  0))$/,/c(()	0 
 %(E +6*A*A$*G	( H	KMm$ GK$ FKD JJL::<2237??   ${{}6+//5"&J ';<??40#'8>>#3D#'L(9(;#<#B#B#D#K#KC#PD#< %-$
 $9&NN2t4::<%-$
 $==G) JJL	 -
 3DHMM2R/2-G $-X]]#; &%B$1$.NN2t$<$B$B$D$,MM!" !*(-- 8 ? ? N"%m4K&L"M"T"T"VV -.E F%hmm4;;MJMFKGK GKH	KX %??, 	KD%5zA~AIIfSZ01	 II}335;ST -&&d2l#**,,-iGK GKs,   BNH'M5;/N+A+NN5M?	:Nc                    	 | j                   }| j                   d| S # t        $ r | j                   d| j                   cY S w xY w)Nz==z===)versionraw_namer   raw_version)rQ   dist_versions     r    _format_as_name_versionrb      sT    2||
 --<.11	  7--D$4$4#5667s    $AAc           	        | j                   }|sJ t        j                  j                  t        j                  j	                  |            }ddlm}m}m} |j                  |      }|4t        |       }t        j                  d||       t        |d| dg      S t        |      j                  }	 |j!                  || j"                        }	t        |	g       S # |$ r# t        |       }t        |d| d	| dg      cY S |$ r9}
t        |       }t        |d| d
| dd|
j$                   dg      cY d}
~
S d}
~
wt&        $ r1 t        j)                  d||j*                         t        |g       cY S t,        $ r }t        j)                  d|       Y d}~nd}~ww xY wt        j)                  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.vcsrd   re   rf   get_backend_for_dirrb   rE   debugr   typer   get_src_requirementr_   urlr   rG   r/   r   )rQ   ri   locationrd   re   rf   vcs_backenddisplayvcs_namerR   exexcs               r    _get_editable_inforz      s   
 !% > >$$$ww0I JKHOO))(3K)$/?	

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

 K ))H;--hF8 r::7  
)$/ #H:-FwiqQR
 	
  	
)$/ hZz' ;/ 0bffXQ
 	
  @-		
 B?? VOQTUUV
 NNBHMAB s6   4C %F F .D<6F <:F 8F  FF T)frozenc                  t    e Zd ZU ded<   ded<   ded<    ee      Zded<   edd	       Ze	dd
       Z
ddZy)r5   r   r/   rR   boolr7   )default_factoryzIterable[str]r   c                ,    t        | j                        S r.   )r   r/   )selfs    r    r8   z FrozenRequirement.canonical_name   s     ++r   c                    |j                   }|rt        |      \  }}n2g }|j                  }|rt        ||j                        }nt        |      } | |j                  |||      S )N)r   )r7   rz   
direct_urlr   r_   rb   )clsrQ   r7   rR   r   r   s         r    r6   zFrozenRequirement.from_dist   s^    ==.t4MCHJ;JV .d34==#x(CCr   c                    | j                   }| j                  rd| }dj                  t        | j                        t        |      gz         dz   S )Nz-e 
)rR   r7   rJ   r<   r   r   )r   rR   s     r    __str__zFrozenRequirement.__str__   sE    hh==u+Cyydmm,Cz9:TAAr   N)returnr
   )rQ   r   r   r5   )r   r   )r   r   r   r   r   tupler   propertyr8   classmethodr6   r   r   r   r    r5   r5      sN    
I	HN#E:Hm:, , D D Br   r5   )NFFNFFr   )r   list[str] | Noner"   r}   r$   r}   rM   r   r*   r}   rN   r}   r#   zContainer[str]r   zGenerator[str, None, None])rQ   r   r   r   )rQ   r   r   r   )(
__future__r   r:   loggingrj   collections.abcr   r   r   dataclassesr   r   typingr	   pip._vendor.packaging.utilsr
   r   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   rE   r   r\   rb   rz   r5   r   r   r    <module>r      s    "   	 : : (  I 8 B D 2 X			8	$J  %)""v-!v-v- v- 	v-
 v- v- v-  v-r2?D $B B Br   