U e5dÛã@s8ddlZddlmZddlmZdZGdd„deƒZdS)éN)ÚRawConfigParser)ÚCommandzE[distutils] index-servers = pypi [pypi] username:%s password:%s c@sdeZdZdZdZdZdZdddefdgZdgZd 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 serverrcCstj tj d¡d¡S)Nú~z.pypirc)ÚosÚpathÚjoinÚ expanduser©Úself©rú(/usr/lib64/python3.8/distutils/config.pyÚ _get_rc_file&szPyPIRCCommand._get_rc_filec CsH| ¡}t t |tjtjBd¡d¡}| t||f¡W5QRXdS)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|krF|  dd¡}dd„|  d¡Dƒ}|gkrŽd|krŠdg}niS|D]°}d|i}|  |d ¡|d <d |jfd |j fd fD].\} } |  || ¡rê|  || ¡|| <qÄ| || <qÄ|dkr ||jdfkr |j|d <|S|d|ks:|d |kr’|Sq’nRd |kr˜d }|  |d ¡rp|  |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_pypirc0sb    ÿÿý     ÿ  ÿ    üzPyPIRCCommand._read_pypirccCs8ddl}| 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_responsecCsd|_d|_d|_dS)Nr)r$r%Z show_responser rrrÚinitialize_optionswsz PyPIRCCommand.initialize_optionscCs(|jdkr|j|_|jdkr$|j|_dS)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