File "index.cpython-37.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/python37/lib/python3.7/site-packages/distlib/__pycache__/index.cpython-37.pyc
File size: 16.68 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit

B

:aQ@sddlZddlZddlZddlZddlZddlZyddlmZWn ek
r`ddl	mZYnXddl
mZddlm
Z
mZmZmZmZmZddlmZmZeeZdZdZGd	d
d
eZdS)N)Thread)DistlibException)HTTPBasicAuthHandlerRequestHTTPPasswordMgrurlparsebuild_openerstring_types)zip_dirServerProxyzhttps://pypi.org/pypipypic@seZdZdZdZd*ddZddZdd	Zd
dZdd
Z	ddZ
ddZd+ddZd,ddZ
d-ddZd.ddZddZd/ddZd0d d!Zd1d"d#Zd$d%Zd&d'Zd2d(d)ZdS)3PackageIndexzc
    This class represents a package index compatible with PyPI, the Python
    Package Index.
    s.----------ThIs_Is_tHe_distlib_index_bouNdaRY_$Nc
Cs|pt|_|t|j\}}}}}}|s<|s<|s<|dkrJtd|jd|_d|_d|_d|_t	t
jdR}xJdD]B}	y(tj
|	dg||d}
|
dkr|	|_PWqvtk
rYqvXqvWWdQRXdS)	z
        Initialise an instance.

        :param url: The URL of the index. If not specified, the URL for PyPI is
                    used.
        )ZhttpZhttpszinvalid repository: %sNw)gpgZgpg2z	--version)stdoutstderrr)
DEFAULT_INDEXurlread_configurationrrpassword_handlerssl_verifierrgpg_homeopenosdevnull
subprocess
check_callOSError)selfrschemenetlocpathZparamsZqueryZfragZsinksrcr%>/opt/alt/python37/lib/python3.7/site-packages/distlib/index.py__init__$s&

zPackageIndex.__init__cCsddlm}|S)zs
        Get the distutils command for interacting with PyPI configurations.
        :return: the command.
        r)_get_pypirc_command)utilr()rcmdr%r%r&r(Asz PackageIndex._get_pypirc_commandcCsNddlm}||}|d|_|d|_|dd|_|d|j|_dS)	z
        Read the PyPI access configuration as supported by distutils. This populates
        ``username``, ``password``, ``realm`` and ``url`` attributes from the
        configuration.
        r)_load_pypircusernamepasswordrealmr

repositoryN)r)r+getr,r-r.r)rr+Zcfgr%r%r&rIszPackageIndex.read_configurationcCs |ddlm}||dS)z
        Save the PyPI access configuration. You must have set ``username`` and
        ``password`` attributes before calling this method.
        r)
_store_pypircN)check_credentialsr)r1)rr1r%r%r&save_configurationVszPackageIndex.save_configurationcCs\|jdks|jdkrtdt}t|j\}}}}}}||j||j|jt||_	dS)zp
        Check that ``username`` and ``password`` have been set, and raise an
        exception if not.
        Nz!username and password must be set)
r,r-rrrrZadd_passwordr.rr)rZpm_r!r%r%r&r2_szPackageIndex.check_credentialscCs\|||}d|d<||g}||}d|d<||g}||S)aq
        Register a distribution on PyPI, using the provided metadata.

        :param metadata: A :class:`Metadata` instance defining at least a name
                         and version number for the distribution to be
                         registered.
        :return: The HTTP response received from PyPI upon submission of the
                request.
        Zverifyz:actionZsubmit)r2validatetodictencode_requestitemssend_request)rmetadatadrequestresponser%r%r&registerks

zPackageIndex.registercCsJx<|}|sP|d}||td||fqW|dS)ar
        Thread runner for reading lines of from a subprocess into a buffer.

        :param name: The logical name of the stream (used for logging only).
        :param stream: The stream to read from. This will typically a pipe
                       connected to the output stream of a subprocess.
        :param outbuf: The list to append the read lines to.
        zutf-8z%s: %sN)readlinedecoderstripappendloggerdebugclose)rnamestreamZoutbufr#r%r%r&_readers	
zPackageIndex._readerc	Cs|jdddg}|dkr|j}|r.|d|g|dk	rF|dddgt}tj|tj|d	}|d
dd|d
||gt	
dd|||fS)a
        Return a suitable command for signing a file.

        :param filename: The pathname to the file to be signed.
        :param signer: The identifier of the signer of the file.
        :param sign_password: The passphrase for the signer's
                              private key used for signing.
        :param keystore: The path to a directory which contains the keys
                         used in verification. If not specified, the
                         instance's ``gpg_home`` attribute is used instead.
        :return: The signing command as a list suitable to be
                 passed to :class:`subprocess.Popen`.
        z--status-fd2z--no-ttyNz	--homedirz--batchz--passphrase-fd0z.ascz
--detach-signz--armorz--local-userz--outputzinvoking: %s )rrextendtempfileZmkdtemprr"joinbasenamerCrD)rfilenamesigner
sign_passwordkeystorer*ZtdZsfr%r%r&get_sign_commands
zPackageIndex.get_sign_commandc	Cstjtjd}|dk	r tj|d<g}g}tj|f|}t|jd|j|fd}|t|jd|j|fd}||dk	r|j	||j
||||j
||fS)a
        Run a command in a child process , passing it any input data specified.

        :param cmd: The command to run.
        :param input_data: If specified, this must be a byte string containing
                           data to be sent to the child process.
        :return: A tuple consisting of the subprocess' exit code, a list of
                 lines read from the subprocess' ``stdout``, and a list of
                 lines read from the subprocess' ``stderr``.
        )rrNstdinr)targetargsr)rPIPEPopenrrHrstartrrUwriterEwaitrN
returncode)	rr*Z
input_datakwargsrrpZt1Zt2r%r%r&run_commands$


zPackageIndex.run_commandc
CsD|||||\}}|||d\}}}	|dkr@td||S)aR
        Sign a file.

        :param filename: The pathname to the file to be signed.
        :param signer: The identifier of the signer of the file.
        :param sign_password: The passphrase for the signer's
                              private key used for signing.
        :param keystore: The path to a directory which contains the keys
                         used in signing. If not specified, the instance's
                         ``gpg_home`` attribute is used instead.
        :return: The absolute pathname of the file where the signature is
                 stored.
        zutf-8rz&sign command failed with error code %s)rTr`encoder)
rrPrQrRrSr*sig_filer$rrr%r%r&	sign_files

zPackageIndex.sign_filesdistsourcec	Cs(|tj|s td|||}d}	|rZ|jsJt	dn|
||||}	t|d}
|
}WdQRXt
|}t
|}
|dd||||
ddtj||fg}|	rt|	d}
|
}WdQRX|d	tj|	|fttj|	|||}||S)
a
        Upload a release file to the index.

        :param metadata: A :class:`Metadata` instance defining at least a name
                         and version number for the file to be uploaded.
        :param filename: The pathname of the file to be uploaded.
        :param signer: The identifier of the signer of the file.
        :param sign_password: The passphrase for the signer's
                              private key used for signing.
        :param filetype: The type of the file being uploaded. This is the
                        distutils command which produced that file, e.g.
                        ``sdist`` or ``bdist_wheel``.
        :param pyversion: The version of Python which the release relates
                          to. For code compatible with any Python, this would
                          be ``source``, otherwise it would be e.g. ``3.2``.
        :param keystore: The path to a directory which contains the keys
                         used in signing. If not specified, the instance's
                         ``gpg_home`` attribute is used instead.
        :return: The HTTP response received from PyPI upon submission of the
                request.
        z
not found: %sNz)no signing program available - not signedrbZfile_upload1)z:actionZprotocol_versionfiletype	pyversion
md5_digest
sha256_digestcontentZ
gpg_signature)r2rr"existsrr5r6rrCwarningrcrreadhashlibmd5	hexdigestZsha256updaterOrBshutilrmtreedirnamer7r8r9)rr:rPrQrRrhrirSr;rbfZ	file_datarjrkfilesZsig_datar<r%r%r&upload_files>

zPackageIndex.upload_filec
Cs|tj|s td|tj|d}tj|sFtd|||j|j	}}t
|}dd|fd|fg}d||fg}|||}	|
|	S)a2
        Upload documentation to the index.

        :param metadata: A :class:`Metadata` instance defining at least a name
                         and version number for the documentation to be
                         uploaded.
        :param doc_dir: The pathname of the directory which contains the
                        documentation. This should be the directory that
                        contains the ``index.html`` for the documentation.
        :return: The HTTP response received from PyPI upon submission of the
                request.
        znot a directory: %rz
index.htmlz
not found: %r)z:actionZ
doc_uploadrFversionrl)r2rr"isdirrrNrmr5rFrzrgetvaluer7r9)
rr:Zdoc_dirfnrFrzZzip_datafieldsrxr<r%r%r&upload_documentation!s
z!PackageIndex.upload_documentationcCsT|jdddg}|dkr|j}|r.|d|g|d||gtdd||S)	a|
        Return a suitable command for verifying a file.

        :param signature_filename: The pathname to the file containing the
                                   signature.
        :param data_filename: The pathname to the file containing the
                              signed data.
        :param keystore: The path to a directory which contains the keys
                         used in verification. If not specified, the
                         instance's ``gpg_home`` attribute is used instead.
        :return: The verifying command as a list suitable to be
                 passed to :class:`subprocess.Popen`.
        z--status-fdrIz--no-ttyNz	--homedirz--verifyzinvoking: %srK)rrrLrCrDrN)rsignature_filename
data_filenamerSr*r%r%r&get_verify_command=szPackageIndex.get_verify_commandcCsH|jstd||||}||\}}}|dkr@td||dkS)a6
        Verify a signature for a file.

        :param signature_filename: The pathname to the file containing the
                                   signature.
        :param data_filename: The pathname to the file containing the
                              signed data.
        :param keystore: The path to a directory which contains the keys
                         used in verification. If not specified, the
                         instance's ``gpg_home`` attribute is used instead.
        :return: True if the signature was verified, else False.
        z0verification unavailable because gpg unavailable)rrz(verify command failed with error code %sr)rrrr`)rrrrSr*r$rrr%r%r&verify_signatureUszPackageIndex.verify_signaturec	Csp|dkrd}tdn6t|ttfr0|\}}nd}tt|}td|t|d}|t	|}z|
}	d}
d}d}d}
d	|	krt|	d
}|r||
|
|xP||
}|sP|t
|7}|||r|||
d7}
|r||
|
|qWWd|XWdQRX|dkr4||kr4td||f|rl|}||kr`td
||||ftd|dS)a
        This is a convenience method for downloading a file from an URL.
        Normally, this will be a file from the index, though currently
        no check is made for this (i.e. a file can be downloaded from
        anywhere).

        The method is just like the :func:`urlretrieve` function in the
        standard library, except that it allows digest computation to be
        done during download and checking that the downloaded data
        matched any expected value.

        :param url: The URL of the file to be downloaded (assumed to be
                    available via an HTTP GET request).
        :param destfile: The pathname where the downloaded file is to be
                         saved.
        :param digest: If specified, this must be a (hasher, value)
                       tuple, where hasher is the algorithm used (e.g.
                       ``'md5'``) and ``value`` is the expected value.
        :param reporthook: The same as for :func:`urlretrieve` in the
                           standard library.
        NzNo digest specifiedrqzDigest specified: %swbi rzcontent-lengthzContent-Lengthrz1retrieval incomplete: got only %d out of %d bytesz.%s digest mismatch for %s: expected %s, got %szDigest verified: %s)rCrD
isinstancelisttuplegetattrrprr9rinfointrolenr[rsrErrr)rrZdestfileZdigestZ
reporthookZdigesterZhasherZdfpZsfpheadersZ	blocksizesizeroZblocknumblockZactualr%r%r&
download_filensV




zPackageIndex.download_filecCs:g}|jr||j|jr(||jt|}||S)z
        Send a standard library :class:`Request` to PyPI and return its
        response.

        :param req: The request to send.
        :return: The HTTP response from PyPI (a standard library HTTPResponse).
        )rrBrr	r)rZreqhandlersopenerr%r%r&r9szPackageIndex.send_requestc
Csg}|j}xX|D]P\}}t|ttfs,|g}x2|D]*}|d|d|dd|dfq2WqWx6|D].\}}	}
|d|d||	fdd|
fqjW|d|ddfd|}d|}|tt|d}
t	|j
||
S)	a&
        Encode fields and files for posting to an HTTP server.

        :param fields: The fields to send as a list of (fieldname, value)
                       tuples.
        :param files: The files to send as a list of (fieldname, filename,
                      file_bytes) tuple.
        s--z)Content-Disposition: form-data; name="%s"zutf-8z8Content-Disposition: form-data; name="%s"; filename="%s"s
smultipart/form-data; boundary=)zContent-typezContent-length)boundaryrrrrLrarNstrrrr)rr~rxpartsrkvaluesvkeyrPvalueZbodyctrr%r%r&r7s2


zPackageIndex.encode_requestcCsBt|trd|i}t|jdd}z|||p.dS|dXdS)NrFg@)timeoutandrE)rr
rrsearch)rZtermsoperatorZ	rpc_proxyr%r%r&rs
zPackageIndex.search)N)N)N)N)NNrdreN)N)N)NN)N)__name__
__module____qualname____doc__rr'r(rr3r2r>rHrTr`rcryrrrrr9r7rr%r%r%r&rs*

	

#

8


M+r)rploggingrrtrrM	threadingrImportErrorZdummy_threadingrcompatrrrrr	r
r)rr	getLoggerrrCr
DEFAULT_REALMobjectrr%r%r%r&<module>s