
    ?[h5                         d Z ddlZddlZddlZddlmZ ddlmZmZm	Z	 ddl
mZ ddlmZmZ ddlmZ ddlmZ dd	lmZ  eed
d           eedd           eedd          dZ G d de          ZdS )zm
distutils.command.upload

Implements the Distutils 'upload' subcommand (upload package to a package
index).
    N)standard_b64encode)urlopenRequest	HTTPError)urlparse)DistutilsErrorDistutilsOptionError)PyPIRCCommand)spawn)logmd5sha256blake2b)
md5_digestsha256_digestblake2_256_digestc                   X    e Zd ZdZej        ddgz   Zej        dgz   Zd Zd Zd Z	d Z
d	S )
uploadzupload binary package to PyPI)signszsign files to upload using gpg)z	identity=izGPG identity used to sign filesr   c                 t    t          j        |            d| _        d| _        d| _        d| _        d | _        d S )N r   F)r
   initialize_optionsusernamepasswordshow_responser   identity)selfs    s/var/www/api.easyaligner.net/htdocs/venv_linux/lib/python3.11/site-packages/setuptools/_distutils/command/upload.pyr   zupload.initialize_options(   s;    (...	    c                 T   t          j        |            | j        r| j        st	          d          |                                 }|i k    r4|d         | _        |d         | _        |d         | _        |d         | _	        | j        s| j
        j        r| j
        j        | _        d S d S d S )Nz.Must use --sign for --identity to have meaningr   r   
repositoryrealm)r
   finalize_optionsr   r   r	   _read_pypircr   r   r#   r$   distribution)r   configs     r    r%   zupload.finalize_options0   s    &t,,,= 	Y 	Y&'WXXX""$$R<<":.DM":.DM$\2DODJ } 	7!2!; 	7 -6DMMM	7 	7 	7 	7r!   c                     | j         j        sd}t          |          | j         j        D ]\  }}}|                     |||           d S )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.run@   sk     + 	,/  's+++,0,=,H 	; 	;(GYWi::::	; 	;r!   c                    t          | j                  \  }}}}}}	|s|s|	rt          d| j        z            |dvrt          d|z             | j        r1ddd|g}
| j        rd| j        g|
dd<   t          |
| j        	           t          |d
          }	 |                                }|	                                 n# |	                                 w xY w| j
        j        }i ddddd|                                d|                                dt          j                            |          |fd|d|ddd|                                d|                                d|                                d|                                d|                                d|                                d|                                d|                                d|                                |                                |                                |                                |                                d}d |d!<   t<                                          D ]9\  }}|	  ||                                           ||<   *# tB          $ r Y 6w xY w| j        rdt          |d"z   d
          5 }t          j                            |          d"z   |                                f|d#<   d d d            n# 1 swxY w Y   | j"        d$z   | j#        z   $                    d%          }d&tK          |          &                    d%          z   }d'}d(|$                    d%          z   }|d)z   }tO          j(                    }|                                D ]\  }}d*|z  }tS          |tT                    s|g}|D ]}tW          |          tX          u r|d+|d,         z  z  }|d-         }n"t[          |          $                    d.          }|.                    |           |.                    |$                    d.                     |.                    d/           |.                    |           |.                    |           |/                                }d00                    || j                  }| 1                    |td          j3                   d1|z  t[          ti          |                    |d2}tk          | j        ||3          }	 tm          |          }|7                                }|j8        }n`# tr          $ r} | j:        }| j8        }Y d } ~ nCd } ~ wtv          $ r3} | 1                    t[          |           td          j<                    d } ~ ww xY w|d4k    r| 1                    d50                    ||          td          j3                   | j=        rO| >                    |          }!d6?                    d7|!d7f          }| 1                    |td          j3                   d S d S d80                    ||          }| 1                    |td          j<                   t          |          )9NzIncompatible url %s)httphttpszunsupported schema gpgz--detach-signz-az--local-user   )dry_runrbz:actionfile_uploadprotocol_version1nameversioncontentfiletyper.   metadata_versionz1.0summary	home_pageauthorauthor_emaillicensedescriptionkeywordsplatformclassifiers)download_urlprovidesrequires	obsoletesr   commentz.ascgpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s   
--s   --
z+
Content-Disposition: form-data; name="%s"z; filename="%s"r      zutf-8s   

zSubmitting {} to {}z multipart/form-data; boundary=%s)zContent-typezContent-lengthAuthorization)dataheaders   zServer response ({}): {}
zK---------------------------------------------------------------------------zUpload failed ({}): {})Ar   r#   AssertionErrorr   r   r   r6   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
ValueErrorr   r   encoder   decodeioBytesIO
isinstancelisttypetuplestrwritegetvalueformatannouncer   INFOlenr   r   getcoder,   r   codeOSErrorERRORr   _read_pypi_responsejoinr   )"r   r-   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+   zupload.upload_fileJ   s?   8@8Q8Q5VUI 	JU 	Ji 	J !6!HIII*** !6!?@@@ 9 	2h?H} @!/ ?1(DL1111 4  	ffhhGGGIIIIAGGIIII )
}
 

 DMMOO
 t''))
 ((22G<
 
 
 
 t++--
 
 d&&((
  D2244!
" t''))#
$ 44466%
& ))++'
( **,,)
* 4//11+
, !1133))++))++++--5
 
 
: Y )>(C(C(E(E 	 	$K"$/K$8$8$B$B$D$D[!!    9 	Xh'.. X!)+)9)9()C)Cf)Laffhh(W_%X X X X X X X X X X X X X X X ]S(4=8@@II	 ,Y77>>wGGG I 8??7#;#;;#i/z||**,, 	" 	"JCCcIEeT**   	" 	";;%''.q99E!!HEEJJ--g66E

<(((

5<<00111

;'''

5!!!!	" 	

<   }}#**8T_EEc38$$$ ?I!#d))nn!
 
 $/gFFF		W%%F^^%%FZFF 	 	 	VFUFFFFFF 	 	 	MM#a&&#),,,	 S==MM4;;FFKKSXVVV! -//77ii4 :;;c38,,,,,- -
 +11&&AACMM#sy))) %%%sT   C C6 J
J$#J$:LLL*U
 

V'U''V'4.V""V'N)__name__
__module____qualname__rE   r
   user_optionsboolean_optionsr   r%   r0   r+    r!   r    r   r      s        1K -7=1 L
 $3vh>O  7 7 7 ; ; ;C& C& C& C& C&r!   r   )__doc__r^   rt   hashlibbase64r   urllib.requestr   r   r   urllib.parser   distutils.errorsr   r	   distutils.corer
   distutils.spawnr   	distutilsr   getattrrn   r   r   r!   r    <module>r      s<    
			 				  % % % % % % 6 6 6 6 6 6 6 6 6 6 ! ! ! ! ! ! A A A A A A A A ( ( ( ( ( ( ! ! ! ! ! !       ''5$//WWh55 )T::  p& p& p& p& p&] p& p& p& p& p&r!   