Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
§

hµµh0ã
ó"—dZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZddl
mZddlmZddlmZddlmZmZmZmZmZmZmZmZmZmZdd	lmZerdd
l m!Z!m"Z"ede#¦«Z$ee$dfZ%gd
¢Z&ej'dkZ(e(rdndZ)ej*dej+ej,z¦«Z-e
dgd¢¦«Z.ej*dej+ej,z¦«Z/ee%d¦«Z0de#defd„Z1de#de#fd„Z2de#de.fd„Z3dedede#dee#e4ffd „Z5d1d"„Z6ej7d#ed$e#deefd%„¦«Z8d&„fd'eee$efd(ee$gee#fdefd)„Z9d*e#deee#e#e#d+ffd,„Z:de4fd-„Z;d.ee#d/fddfd0„Z<dS)2z=Utilities related to handling / interacting with wheel files.éN)Ú
namedtuple)ÚConfigParser)ÚMessage)Ú
FeedParser)Úcompat32)
Ú
TYPE_CHECKINGÚBinaryIOÚCallableÚIterableÚIteratorÚNewTypeÚOptionalÚTupleÚUnionÚcast)ÚRecordEntry)ÚLauncherKindÚ
ScriptSectionÚScheme.)
Úparse_metadata_fileÚparse_wheel_filenameÚcopyfileobj_with_hashingÚget_launcher_kindÚfix_shebangÚconstruct_record_fileÚparse_entrypointsÚmake_file_executableÚ
WheelFilenameÚSCHEME_NAMESÚntiiz‡
    ^
    (?P<distribution>.+?)
    -(?P<version>.*?)
    (?:-(?P<build_tag>\d[^-]*?))?
    -(?P<tag>.+?-.+?-.+?)
    \.whl
    $
    r)ÚdistributionÚversionÚ	build_tagÚtagzZ
    (?P<module>[\w.]+)\s*
    (:\s*(?P<attrs>[\w.]+))\s*
    (?P<extras>\[.*\])?\s*$
    )ÚpurelibÚplatlibÚheadersÚscriptsÚdataÚcontentsÚreturncó~—tt¬¦«}| |¦«| ¦«S)zìParse :pep:`376` ``PKG-INFO``-style metadata files.

    ``METADATA`` and ``WHEEL`` files (as per :pep:`427`) use the same syntax
    and can also be parsed using this function.

    :param contents: The entire contents of the file
    )Úpolicy)rrÚfeedÚclose)r*Úfeed_parsers  ú:/usr/local/lib/python3.11/site-packages/installer/utils.pyrrUs:€õ¥HÐ-Ñ-Ô-€KØ×ҐXÑÔÐØ×ÒÑÔÐóÚnamecóR—tjdd|¦« ¦«S)ziCanonicalize a project name according to PEP-503.

    :param name: The project name to canonicalize
    z[-_.]+ú-)ÚreÚsubÚlower)r3s r1Úcanonicalize_namer9bs$€õ
Œ6)˜S $Ñ'Ô'×-Ò-Ñ/Ô/Ð/r2Úfilenamecó”—t |¦«}|std|›¦«‚t| ¦«ŽS)zfParse a wheel filename, into it's various components.

    :param filename: The filename to parse
    zNot a valid wheel filename: )Ú_WHEEL_FILENAME_REGEXÚmatchÚ
ValueErrorrÚgroups)r:Ú
wheel_infos  r1rrjsN€õ
'×,Ò,¨XÑ6Ô6€JØðDÝÐB¸ÐBÐBÑCÔCÐCݘ*×+Ò+Ñ-Ô-Ð.Ð.r2ÚsourceÚdestÚhash_algorithmcó€—tj|¦«}d}	| t¦«}|sn=| |¦«| |¦«|t
|¦«z
}ŒZtj| 	¦«¦« 
d¦« d¦«|fS)aƒCopy a buffer while computing the content's hash and size.

    Copies the source buffer into the destination buffer while computing the
    hash of the contents. Adapted from :any:`shutil.copyfileobj`.

    :param source: buffer holding the source data
    :param dest: destination buffer
    :param hash_algorithm: hashing algorithm

    :return: size, hash digest of the contents
    rTÚasciiú=)ÚhashlibÚnewÚreadÚ
_COPY_BUFSIZEÚupdateÚwriteÚlenÚbase64Úurlsafe_b64encodeÚdigestÚdecodeÚrstrip)rArBrCÚhasherÚsizeÚbufs      r1rrus¬€õ Œ[˜Ñ
(Ô
(€FØ€Dð؏kŠk-Ñ(Ô(ˆØð	Ø؏
Š
cÑÔÐØ
Š
3‰ŒˆØ•C‘”шð
õÔ# F§M¢M¡O¤OÑ4Ô4×;Ò;¸GÑDÔD×KÒKÈCÑPÔPÐRVÐVÐVr2rcó4—tjdkrdSdtj ¦«vrdSdtj ¦«vrdSdtj ¦«vrdStjd	krd
St
d¦«‚)z.Get the launcher kind for the current machine.r ÚposixÚamd64z	win-amd64z(arm64)z	win-arm64z(arm)zwin-armÚwin32zwin-ia32z&Unknown launcher kind for this machine)Úosr3Úsysr"r8ÚplatformÚNotImplementedError©r2r1rr’s€å	„w$‚€Øˆwà•#”+×#Ò#Ñ%Ô%Ð%Ð%؈{Ø•C”K×%Ò%Ñ'Ô'Ð'Ð'؈{Ø•#”+×#Ò#Ñ%Ô%Ð%Ð%؈yÝ
„|wÒÐØˆzå
ÐFÑ
GÔ
GÐGr2ÚstreamÚinterpreterc#ó,K—| d¦«| d¦«dkrÊtj¦«}| d|›d ¦«¦«| d¦«| ¦«	| t¦«}|sn| |¦«Œ3| d¦«|V—| ¦«dS| d¦«|V—dS)aReplace ``#!python`` shebang in a stream with the correct interpreter.

    :param stream: stream to modify
    :param interpreter: "correct interpreter" to substitute the shebang with

    :returns: A context manager, that provides an appropriately modified stream.
    rés#!pythonz#!ú
TN)	ÚseekrIÚioÚBytesIOrLÚencodeÚreadlinerJr/)r_r`Ú
new_streamrUs    r1rr£sèè€ð‡K‚KN„N€NØ
‡{‚{1~„~˜Ò$Ð$Ý”Z‘\”\ˆ
à×ÒÐ-˜kÐ-Ð-Ð-×4Ò4Ñ6Ô6Ñ7Ô7Ð7àŠA‰ŒˆØŠÑÔÐð	"Ø—+’+mÑ,Ô,ˆCØð
ØØ×Ò˜SÑ!Ô!Ð!ð		"ð
	Š˜ÑÔÐØÐÐÐØ×ÒÑÔÐÐÐàŠA‰ŒˆØˆˆˆˆˆr2có—dS)Nr^)Ú_s r1ú<lambda>rlÃs€ÀT€r2ÚrecordsÚprefix_for_schemecóH—tjtj¦«ddd¬¦«}tj|ddd¬¦«}|D]6\}}| | ||¦«¦«¦«Œ7| d	¦«| ¦«S)
a?Construct a RECORD file.

    :param records:
        ``records`` as passed into :any:`WheelDestination.finalize_installation`
    :param prefix_for_scheme:
        function to get a prefix to add for RECORD entries, within a scheme

    :return: A stream that can be written to file. Must be closed by the caller.
    zutf-8TÚ)ÚencodingÚ
write_throughÚnewlineú,ú"rc)Ú	delimiterÚ	quotecharÚlineterminatorr)	reÚ
TextIOWrapperrfÚcsvÚwriterÚwriterowÚto_rowrdÚdetach)rmrnr_r{ÚschemeÚrecords      r1rrÁs£€õÔ
Ý
Œ
‰Œ˜w°dÀBðñô€FõŒZ˜¨#¸ÈTÐ
RÑ
RÔ
R€FØ!ðBðB‰ˆØŠ˜Ÿ
š
Ð&7Ð&7¸Ñ&?Ô&?Ñ@Ô@ÑAÔAÐAÐAØ
‡K‚KN„N€N؏=Š=‰?Œ?Ðr2Útextrc
#óXK—td¬¦«}t|_| |¦«| ¦«D]á}|dvrŒ| |¦«D]Ä\}}t
|t¦«sJ‚t |¦«}|sJ‚| 	d¦«}t
|t¦«sJ‚| 	d¦«}|€J‚t
|t¦«sJ‚td|dtd¦«…¦«}||||fV—ŒŌâdS)	zÀParse ``entry_points.txt``-style files.

    :param text: entire contents of the file
    :return:
        name of the script, module to use, attribute to call, kind of script (cli / gui)
    rF)Ú
delimiters)Úconsole_scriptsÚgui_scriptsÚmoduleÚattrsNrÚ_scripts)rÚstrÚoptionxformÚread_stringÚsectionsÚitemsÚ
isinstanceÚ_ENTRYPOINT_REGEXr=ÚgrouprrM)	rÚconfigÚsectionr3Úvaluer=r†r‡Úscript_sections	         r1rrØsQèè€õ SÐ
)Ñ
)Ô
)€FÝ€FÔØ
×ҐtÑÔÐà—?’?Ñ$Ô$ð6ð6ˆØÐ<Ð<Ð<Øà!Ÿ<š<¨Ñ0Ô0ð	6ð	6‰KˆD%ݘd¥CÑ(Ô(Ð(Ð(Ð(Ý%×+Ò+¨EÑ2Ô2ˆE؈LˆL5à—[’[ Ñ*Ô*ˆFݘf¥cÑ*Ô*Ð*Ð*Ð*à—K’K Ñ(Ô(ˆEàÐ$Ð$Ð$ݘe¥SÑ)Ô)Ð)Ð)Ð)å! /°7Ð;M½cÀ*¹o¼oÐ=MÐ;MÔ3NÑOÔOˆNà˜  ~Ð5Ð5Ð5Ð5Ð5ð	6ð	6ð6r2cóV—tjd¦«}tj|¦«|S)zBGet the current umask which involves having to set it temporarily.r)rZÚumask)Úmasks r1Ú_current_umaskr˜ús!€å
Œ8A‰;Œ;€DÝ„HˆTN„N€NØ€Kr2Úpathzos.PathLike[str]cóV—tj|dt¦«zdz¦«dS)z.Make the file at the provided path executable.iÿéIN)rZÚchmodr˜)r™s r1rrs-€å„HˆTE^Ñ-Ô-Ð-Ñ-°Ñ5Ñ7Ô7Ð7Ð7Ð7r2)r+r)=Ú__doc__rNÚ
contextlibrzrGrerZr6r[ÚcollectionsrÚconfigparserrÚ
email.messagerÚemail.parserrÚemail.policyrÚtypingrr	r
rrr
rrrrÚinstaller.recordsrÚinstaller.scriptsrrr‰rÚ
AllSchemesÚ__all__r3Ú_WINDOWSrJÚcompileÚVERBOSEÚUNICODEr<rrrrr9rÚintrrÚcontextmanagerrrrr˜rr^r2r1ú<module>r¯sðØCÐCà
€
€
€
ØÐÐÐØ
€
€
€
Ø€€€Ø	€	€	€	Ø	€	€	€	Ø	€	€	€	Ø
€
€
€
Ø"Ð"Ð"Ð"Ð"Ð"Ø%Ð%Ð%Ð%Ð%Ð%Ø!Ð!Ð!Ð!Ð!Ð!Ø#Ð#Ð#Ð#Ð#Ð#Ø!Ð!Ð!Ð!Ð!Ð!ððððððððððððððððððððððððð*Ð)Ð)Ð)Ð)Ð)àð>Ø=Ð=Ð=Ð=Ð=Ð=Ð=Ð=à	ˆ˜3Ñ	Ô	€Ø
6˜3;Ô
€
ððð€ðŒ7dŠ?€Ø'Ð6¨Y€
ð#˜œ
ðð„J”ÑñôÐð
ØÐDÐDÐDñô€
ð
B”Jðð
„J”Ññ
ôÐðˆtJÐ TÑUÔU€ð
 #ð
¨'ð
ð
ð
ð
ð0˜Cð0 Cð0ð0ð0ð0ð/ 3ð/¨=ð/ð/ð/ð/ðWØðWà
ðWððWðˆ3ˆ8„_ð	WðWðWðWð:HðHðHðHð"Ôð˜ð¨sð°xÀÔ7IðððñÔðð><J¸>ððØ
e˜F KÐ/Ô0Ô
1ðà  ¨(°3¬-Ð 7Ô8ððððððð.6˜Cð6 H¨U°3¸¸SÀ/Ð3QÔ-RÔ$Sð6ð6ð6ð6ðD˜ððððð8˜u SÐ*<Ð%<Ô=ð8À$ð8ð8ð8ð8ð8ð8r2