zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
U
H=®dôã@sdZddlZddlZddlmZddlmZddlm    Z    e    rhddl
m Z m Z m Z mZmZmZmZedƒZdZe d    ¡Zd
d d d dgZGdd „d eƒZddd„Zddd„Zdd„Zdd„ZGdd„deƒZGdd „d eƒZGdd „d eƒZ e    rúeee efZ!Gdd
„d
eƒZ"dS)z     PEP 610 éN)Úsix)Úparse)ÚMYPY_CHECK_RUNNING)ÚAnyÚDictÚIterableÚOptionalÚTypeÚTypeVarÚUnionÚTzdirect_url.jsonz.^\$\{[A-Za-z0-9-_]+\}(:\$\{[A-Za-z0-9-_]+\})?$Ú    DirectUrlÚDirectUrlValidationErrorÚDirInfoÚ ArchiveInfoÚVcsInfoc@s eZdZdS)rN)Ú__name__Ú
__module__Ú __qualname__©rrúVD:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\pip/_internal/models/direct_url.pyrscCsH||kr |S||}tjr(|tkr(tj}t||ƒsDtd |||¡ƒ‚|S)z3Get value from dictionary and verify expected type.z-{!r} has unexpected type for {} (expected {}))rÚPY2ÚstrÚ string_typesÚ
isinstancerÚformat©ÚdÚ expected_typeÚkeyÚdefaultÚvaluerrrÚ_get"s
ÿÿr"cCs(t||||ƒ}|dkr$td |¡ƒ‚|S)Nz{} must have a value)r"rrrrrrÚ _get_required3sr#cCsFdd„|Dƒ}|stdƒ‚t|ƒdkr.tdƒ‚|ddk    s>t‚|dS)NcSsg|]}|dk    r|‘qS©Nr)Ú.0ÚinforrrÚ
<listcomp>=sz#_exactly_one_of.<locals>.<listcomp>z/missing one of archive_info, dir_info, vcs_infoéz1more than one of archive_info, dir_info, vcs_infor)rÚlenÚAssertionError)ÚinfosrrrÚ_exactly_one_of;sÿ ÿr,cKsdd„| ¡DƒS)z Make dict excluding None values.cSsi|]\}}|dk    r||“qSr$r)r%ÚkÚvrrrÚ
<dictcomp>Msz _filter_none.<locals>.<dictcomp>)Úitems)ÚkwargsrrrÚ _filter_noneJsr2c@s.eZdZdZd    dd„Zedd„ƒZdd„ZdS)
rÚvcs_infoNcCs"||_||_||_||_||_dSr$©ÚvcsÚrequested_revisionÚ    commit_idÚresolved_revisionÚresolved_revision_type)Úselfr5r7r6r8r9rrrÚ__init__Ss
zVcsInfo.__init__c    CsF|dkr dS|t|tdƒt|tdƒt|tdƒt|tdƒt|tdƒdS)Nr5r7r6r8r9)r5r7r6r8r9)r#rr"©ÚclsrrrrÚ
_from_dictas
 
 
 
 
ûzVcsInfo._from_dictcCst|j|j|j|j|jdS)Nr4)r2r5r6r7r8r9©r:rrrÚ_to_dictnsûzVcsInfo._to_dict)NNN©rrrÚnamer;Ú classmethodr>r@rrrrrPsú
 
c@s.eZdZdZd    dd„Zedd„ƒZdd„ZdS)
rÚ archive_infoNcCs
||_dSr$©Úhash)r:rFrrrr;|szArchiveInfo.__init__cCs|dkr dS|t|tdƒdS)NrFrE)r"rr<rrrr>‚szArchiveInfo._from_dictcCs t|jdS)NrE)r2rFr?rrrr@‰szArchiveInfo._to_dict)NrArrrrrys þ
 
c@s.eZdZdZd
dd„Zedd„ƒZdd„Zd    S) rÚdir_infoFcCs
||_dSr$©Úeditable)r:rIrrrr;‘szDirInfo.__init__cCs"|dkr dS|t|tddddS)NrIF)r rH)r#Úboolr<rrrr>—s
ÿzDirInfo._from_dictcCst|jp
ddS)NrH)r2rIr?rrrr@ szDirInfo._to_dictN)FrArrrrrŽs þ
 
c@sZeZdZddd„Zdd„Zedd„ƒZdd    „Zed
d „ƒZ    d d „Z
edd„ƒZ dd„Z dS)r NcCs||_||_||_dSr$)Úurlr&Ú subdirectory)r:rKr&rLrrrr;«szDirectUrl.__init__cCsRd|kr |S| dd¡\}}t|jtƒr@|jjdkr@|dkr@|St |¡rN|S|S)Nú@r(Úgit)Úsplitrr&rr5Ú
ENV_VAR_REÚmatch)r:ÚnetlocÚ    user_passÚnetloc_no_user_passrrrÚ_remove_auth_from_netlocµs
ÿ
þý
z"DirectUrl._remove_auth_from_netloccCs8t |j¡}| |j¡}t |j||j|j|j    f¡}|S)z¯url with user:password part removed unless it is formed with
        environment variables as specified in PEP 610, or it is ``git``
        in the case of a git URL.
        )
Ú urllib_parseÚurlsplitrKrUrRÚ
urlunsplitÚschemeÚpathÚqueryÚfragment)r:ÚpurlrRÚsurlrrrÚ redacted_urlÄs   ÿzDirectUrl.redacted_urlcCs| | ¡¡dSr$)Ú    from_dictÚto_dictr?rrrÚvalidateÒszDirectUrl.validatec CsRtt|tdƒt|tdƒtt t|tdƒ¡t t|tdƒ¡t     t|tdƒ¡gƒdS)NrKrLrDrGr3)rKrLr&)
r r#rr"r,rr>Údictrrr<rrrr`Ös
 
ýÿýzDirectUrl.from_dictcCs&t|j|jd}|j ¡||jj<|S)N)rKrL)r2r_rLr&r@rB)r:Úresrrrraås þzDirectUrl.to_dictcCs| t |¡¡Sr$)r`ÚjsonÚloads)r=ÚsrrrÚ    from_jsonîszDirectUrl.from_jsoncCstj| ¡ddS)NT)Ú    sort_keys)reÚdumpsrar?rrrÚto_jsonószDirectUrl.to_json)N) rrrr;rUÚpropertyr_rbrCr`rarhrkrrrrr ©sü
 
 
 
    
)N)N)#Ú__doc__reÚreÚ pip._vendorrZpip._vendor.six.moves.urllibrrVÚpip._internal.utils.typingrÚtypingrrrrr    r
r r ÚDIRECT_URL_METADATA_NAMEÚcompilerPÚ__all__Ú    Exceptionrr"r#r,r2ÚobjectrrrZInfoTyper rrrrÚ<module>s6   $
û    
 
)