Sindbad~EG File Manager
�
�=Og�����dZddlZddlZddlZddlmZddlmZddlm Z m
Z
ddlmZddl
mZmZddlmZdd lmZdd
lmZeedd��eedd��eed
d��d�ZGd�de��ZdS)zm
distutils.command.upload
Implements the Distutils 'upload' subcommand (upload package to a package
index).
�N)�standard_b64encode)� HTTPError)�urlopen�Request)�urlparse)�DistutilsError�DistutilsOptionError)�
PyPIRCCommand)�spawn)�log�md5�sha256�blake2b)�
md5_digest�
sha256_digest�blake2_256_digestc�X�eZdZdZejddgzZejdgzZd�Zd�Zd�Z d�Z
d S)
�uploadzupload binary package to PyPI)�sign�szsign files to upload using gpg)z identity=�izGPG identity used to sign filesrc�t�tj|��d|_d|_d|_d|_d|_dS)N�rF)r
�initialize_options�username�password�
show_responser�identity)�selfs �1/usr/lib64/python3.11/distutils/command/upload.pyrzupload.initialize_options*s;���(��.�.�.���
���
������ ���
�
�
�c�T�tj|��|jr|jst d���|���}|ikr4|d|_|d|_|d|_|d|_ |js|j
jr|j
j|_dSdSdS)Nz.Must use --sign for --identity to have meaningrr�
repository�realm)r
�finalize_optionsrrr �_read_pypircrrr#r$�distribution)r�configs r r%zupload.finalize_options2s����&�t�,�,�,��=� ��� �&�@���
��"�"�$�$���R�<�<�"�:�.�D�M�"�:�.�D�M�$�\�2�D�O����D�J��}� 7��!2�!;� 7� �-�6�D�M�M�M� 7� 7� 7� 7r!c��|jjsd}t|���|jjD]\}}}|�|||���dS)NzHMust create and upload files in one command (e.g. setup.py sdist upload))r'�
dist_filesr �upload_file)r�msg�command� pyversion�filenames r �runz
upload.runDsf��� �+� ,�2�C�&�s�+�+�+�,0�,=�,H� ;� ;�(�G�Y�����W�i��:�:�:�:� ;� ;r!c��t|j��\}}}}}} |s|s| rtd|jz���|dvrtd|z���|jr1ddd|g}
|jrd|jg|
dd�<t|
|j� ��t|d
��} |���}|� ��n#|� ��wxYw|j
j}
idd�d
d�d|
����d|
�
���dtj�|��|f�d|�d|�dd�d|
����d|
����d|
����d|
����d|
����d|
����d|
����d|
����d|
����|
���|
���|
���|
���d��}d |d!<t<���D]9\}}|�� ||��� ��||<�*#tB$rY�6wxYw|jrdt|d"zd
��5}tj�|��d"z|���f|d#<ddd��n#1swxYwY|j"d$z|j#z�$d%��}d&tK|���&d%��z}d'}d(|�$d%��z}|d)z}tOj(��}|���D]�\}}d*|z}tS|tT��s|g}|D]�}tW|��tXur|d+|d,zz
}|d-}n"t[|���$d.��}|�.|��|�.|�$d.����|�.d/��|�.|������|�.|��|�/��}d0|�d1|j��}|�0|tbj2��d2|zt[tg|����|d3�}ti|j||�4��} tk|��}|�6��}|j7}n`#tp$r} | j9}| j7}Yd} ~ nCd} ~ wtt$r3} |�0t[| ��tbj;���d} ~ wwxYw|d5kr~|�0d6|�d7|��tbj2��|j<rO|�=|��}!d8�>d9|!d9f��}|�0|tbj2��dSdSd:|�d7|��}|�0|tbj;��t|���);NzIncompatible url %s)�http�httpszunsupported schema �gpgz
--detach-signz-az--local-user�)�dry_run�rbz:action�file_upload�protocol_version�1�name�version�content�filetyper.�metadata_versionz1.0�summary� home_page�author�author_email�license�description�keywords�platform�classifiers)�download_url�provides�requires� obsoletesr�commentz.asc�
gpg_signature�:�asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s
--s--
z+
Content-Disposition: form-data; name="%s"z; filename="%s"r�zutf-8s
zSubmitting z to z multipart/form-data; boundary=%s)zContent-typezContent-length�
Authorization)�data�headers��zServer response (z): �
zK---------------------------------------------------------------------------zUpload failed ()@rr#�AssertionErrorrrrr6�open�read�closer'�metadata�get_name�get_version�os�path�basename�get_description�get_url�get_contact�get_contact_email�get_licence�get_long_description�get_keywords�
get_platforms�get_classifiers�get_download_url�get_provides�get_requires�
get_obsoletes�_FILE_CONTENT_DIGESTS�items� hexdigest�
ValueErrorrr�encoder�decode�io�BytesIO�
isinstance�list�type�tuple�str�write�getvalue�announcer�INFO�lenrr�getcoder,r�code�OSError�ERRORr�_read_pypi_response�joinr)"rr-r.r/�schema�netloc�url�params�query� fragments�gpg_args�fr=�metarS�digest_name�digest_cons� user_pass�auth�boundary�sep_boundary�end_boundary�body�key�value�titler,rT�request�result�status�reason�e�texts" r r+zupload.upload_fileLsF��
�T�_�%�%� 6����V�U�I�� J�U� J�i� J� �!6���!H�I�I�I��*�*�*� �!6��!?�@�@�@��9� (����h�?�H��}�
@�!/��� ?���1��
��(��,�
(�
(�
(�
(�
��$���� ��f�f�h�h�G�
�G�G�I�I�I�I��A�G�G�I�I�I�I����� �)����}��
���
�D�M�M�O�O�
�
�t�'�'�)�)��
���(�(��2�2�7�;��
���
���
���
�t�+�+�-�-�!�"
������#�$
�d�&�&�(�(�%�&
�D�2�2�4�4�'�(
�t�'�'�)�)�)�*
�4�4�4�6�6�+�,
��)�)�+�+�-�.
��*�*�,�,�/�0
�4�/�/�1�1�1�2!�1�1�3�3��)�)�+�+��)�)�+�+��+�+�-�-�;����@��Y��)>�(C�(C�(E�(E� � �$�K���"��
�$/�K��$8�$8�$B�$B�$D�$D��[�!�!���
�
�
���
�����9� 3��h��'��.�.�
3�!�)+��)9�)9�(�)C�)C�f�)L�)*�����)3��_�%�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3����
3�
3�
3�
3�
�]�S�(�4�=�8�@�@��I�I� ��,�Y�7�7�>�>�w�G�G�G��I�� �8�?�?�7�#;�#;�;��#�i�/���z�|�|���*�*�,�,� "� "�J�C��C�c�I�E��e�T�*�*�
�����
"�
"����;�;�%�'�'��.��q��9�9�E�!�!�H�E�E���J�J�-�-�g�6�6�E��
�
�<�(�(�(��
�
�5�<�<��0�0�1�1�1��
�
�;�'�'�'��
�
�5�!�!�!�!�
"�
�
�
�<� � � ��}�}�����'/�x�x����A���
�
�c�3�8�$�$�$�?��I�!�#�d�)�)�n�n�!�
�
���$�/��")�+�+�+�� ��W�%�%�F��^�^�%�%�F��Z�F�F��� � � ��V�F��U�F�F�F�F�F�F������ � � ��M�M�#�a�&�&�#�)�,�,�,������ �����S�=�=��M�M�M������G��(�
$�
$�
$��!�
-��/�/��7�7���i�i��4�� :�;�;���
�
�c�3�8�,�,�,�,�,�
-�
-��/5�f�f�f�f�=�C��M�M�#�s�y�)�)�)� ��%�%�%sT�C�C�6 J�
J$�#J$�:L�L�L�*T<�<
V�U�
V�&.V�VN)�__name__�
__module__�__qualname__rEr
�user_options�boolean_optionsrr%r0r+�r!r rrs�������1�K� �-� +�=�1
�
�L�$�3�v�h�>�O����7�7�7�$;�;�;�K&�K&�K&�K&�K&r!r)�__doc__r^rt�hashlib�base64r�urllib.errorr�urllib.requestrr�urllib.parser�distutils.errorsrr �distutils.corer
�distutils.spawnr� distutilsr�getattrrnrr�r!r �<module>r�sH����
� � � � � � � �����%�%�%�%�%�%�"�"�"�"�"�"�+�+�+�+�+�+�+�+�!�!�!�!�!�!�A�A�A�A�A�A�A�A�(�(�(�(�(�(�!�!�!�!�!�!��������'�'�5�$�/�/��W�W�h��5�5� ���)�T�:�:����y&�y&�y&�y&�y&�]�y&�y&�y&�y&�y&r!
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists