o h@s: ddlZddlmZddlmZdZGdddeZdS)N)RawConfigParser)CommandzE[distutils] index-servers = pypi [pypi] username:%s password:%s c@sfeZdZ dZdZdZdZdddefdgZdgZd d Z d d Z d dZ ddZ ddZ ddZdS) PyPIRCCommandzhttps://upload.pypi.org/legacy/pypiNz repository=rzurl of repository [default: %s]) show-responseNz&display full response text from serverrcCs tjtjddS)N~z.pypirc)ospathjoin expanduserselfr7/opt/alt/python310/lib64/python3.10/distutils/config.py _get_rc_file&szPyPIRCCommand._get_rc_filecCs` |}tt|tjtjBdd}|t||fWddS1s)wYdS)Niw)rr fdopenopenO_CREATO_WRONLYwriteDEFAULT_PYPIRC)rusernamepasswordrcfrrr _store_pypirc*s  "zPyPIRCCommand._store_pypircc Cs |}tj|r|d||jp|j}t}||| }d|vr| dd}dd| dD}|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 |vrd }| |d r| |d }n|j}| |d | |d|||j dSiS)NzUsing PyPI login from %sZ distutilsz index-serverscSs g|] }|dkr|qS))strip).0serverrrr =s z.PyPIRCCommand._read_pypirc.. rr!r repositoryrealm)rNz server-loginr)rrr$r!r%)rr r existsZannouncer$DEFAULT_REPOSITORYrreadsectionsgetsplit DEFAULT_REALMZ has_option) rrr$Zconfigr)Z index_serversZ_serversr!Zcurrentkeydefaultrrr _read_pypirc0sd            zPyPIRCCommand._read_pypirccCs: ddl}|dd}||ddd}||S)Nrz content-typez text/plaincharsetascii)cgiZ getheaderZ parse_headerr*r(decode)rZresponser3Z content_typeencodingrrr_read_pypi_responseps  z!PyPIRCCommand._read_pypi_responsecCs d|_d|_d|_dS)Nr)r$r%Z show_responser rrrinitialize_optionsws z PyPIRCCommand.initialize_optionscCs. |jdur |j|_|jdur|j|_dSdS)N)r$r'r%r,r rrrfinalize_options}s    zPyPIRCCommand.finalize_options)__name__ __module__ __qualname__r'r,r$r%Z user_optionsZboolean_optionsrrr/r6r7r8rrrrrs(@ r)r Z configparserrZ distutils.cmdrrrrrrrs