o ­=?hÛã@s: ddlZddlmZddlmZdZGdd„deƒZdS)éN)ÚRawConfigParser)ÚCommandzE[distutils] index-servers = pypi [pypi] username:%s password:%s c@sfeZdZ dZdZdZdZdddefdgZdgZd d „Z d d „Z d d„Z dd„Z dd„Z dd„ZdS)Ú PyPIRCCommandzhttps://upload.pypi.org/legacy/ÚpypiNz repository=Úrzurl of repository [default: %s])ú show-responseNz&display full response text from serverrcCs tj tj d¡d¡S)Nú~z.pypirc)ÚosÚpathÚjoinÚ expanduser©Úself©rú7/opt/alt/python310/lib64/python3.10/distutils/config.pyÚ _get_rc_file&szPyPIRCCommand._get_rc_filecCs` | ¡}t t |tjtjBd¡d¡}| t||f¡WdƒdS1s)wYdS)Ni€Úw)rr ÚfdopenÚopenÚO_CREATÚO_WRONLYÚwriteÚDEFAULT_PYPIRC)rÚusernameÚpasswordÚrcÚfrrrÚ _store_pypirc*s  "ÿzPyPIRCCommand._store_pypircc Cs’ | ¡}tj |¡rÇ| d|¡|jp|j}tƒ}| |¡|  ¡}d|vr |  dd¡}dd„|  d¡Dƒ}|gkrFd|vrDdg}niS|D]U}d|i}|  |d ¡|d <d |jfd |j fd fD]\} } |  || ¡rt|  || ¡|| <qa| || <qa|dkr||jdfvr|j|d <|S|d|ks™|d |kr|SqHiSd |vrÇd }|  |d ¡r³|  |d ¡}n|j}|  |d ¡|  |d¡|||j dœSiS)NzUsing PyPI login from %sZ distutilsz index-serverscSs g|] }| ¡dkr| ¡‘qS)Ú)Ústrip)Ú.0ÚserverrrrÚ =s þz.PyPIRCCommand._read_pypirc..Ú rr!rÚ repositoryÚrealm)rNz server-loginr)rrr$r!r%)rr r ÚexistsZannouncer$ÚDEFAULT_REPOSITORYrÚreadÚsectionsÚgetÚsplitÚ DEFAULT_REALMZ has_option) rrr$Zconfigr)Z index_serversZ_serversr!ZcurrentÚkeyÚdefaultrrrÚ _read_pypirc0sd    ÿÿ ý     ÿó   üzPyPIRCCommand._read_pypirccCs: ddl}| dd¡}| |¡d dd¡}| ¡ |¡S)Nrz content-typez text/plainéÚcharsetÚascii)ÚcgiZ getheaderZ parse_headerr*r(Údecode)rZresponser3Z content_typeÚencodingrrrÚ_read_pypi_responseps  z!PyPIRCCommand._read_pypi_responsecCs d|_d|_d|_dS)Nr)r$r%Z show_responser rrrÚinitialize_optionsws z PyPIRCCommand.initialize_optionscCs. |jdur |j|_|jdur|j|_dSdS)N)r$r'r%r,r rrrÚfinalize_options}s    ÿzPyPIRCCommand.finalize_options)Ú__name__Ú __module__Ú __qualname__r'r,r$r%Z user_optionsZboolean_optionsrrr/r6r7r8rrrrrs(ÿÿü@ r)r Z configparserrZ distutils.cmdrrrrrrrÚs