o !QçdÀ-ã@sb ddlZddlZddlZddlZddlmZddlmZddl Tddl m Z Gdd„deƒZ dS)éN)Úwarn)Ú PyPIRCCommand)Ú*)Úlogc@sŒeZdZdZejddgZejgd¢Zddd„fgZdd „Zd d „Z d d „Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zddd„ZdS)Úregisterz7register the distribution with the Python package index)úlist-classifiersNz list the valid Trove classifiers)ÚstrictNzBWill stop the registering if the meta-data are not fully compliant)ÚverifyrrÚcheckcCsdS)NT©©Úselfr r úA/opt/alt/python310/lib64/python3.10/distutils/command/register.pyÚszregister.cCst |¡d|_d|_dS)Nr)rÚinitialize_optionsÚlist_classifiersrr r r rrs  zregister.initialize_optionscCs*t |¡d|jfddœ}||jjd<dS)Nr)ré)rÚrestructuredtextr )rÚfinalize_optionsrÚ distributionZcommand_options)r Z check_optionsr r rr$s ÿzregister.finalize_optionscCsX| ¡| ¡| ¡D]}| |¡q |jr| ¡dS|jr&| ¡dS| ¡dS©N) rÚ _set_configZget_sub_commandsZ run_commandZdry_runÚverify_metadatarÚ classifiersÚ send_metadata)r Zcmd_namer r rÚrun+s     z register.runcCs: tdtƒ|j d¡}| ¡|j|_d|_| ¡dS)Nzddistutils.command.register.check_metadata is deprecated, use the check command insteadr r)rÚPendingDeprecationWarningrZget_command_objZensure_finalizedrrr)r r r r rÚcheck_metadata:sÿ  zregister.check_metadatacCs~ | ¡}|ikr"|d|_|d|_|d|_|d|_d|_dS|jd|jfvr1td|jƒ‚|jdkr:|j|_d|_dS) NÚusernameÚpasswordÚ repositoryÚrealmTZpypiz%s not found in .pypircF)Z _read_pypircrrr r!Ú has_configZDEFAULT_REPOSITORYÚ ValueError)r Zconfigr r rrDs       zregister._set_configcCs, |jd}tj |¡}t | |¡¡dS)Nz?:action=list_classifiers)r ÚurllibÚrequestZurlopenrÚinfoÚ_read_pypi_response)r ZurlZresponser r rrUs  zregister.classifierscCs( | | d¡¡\}}t d||¡dS)Nr úServer response (%s): %s)Úpost_to_serverÚbuild_post_datarr&)r ÚcodeÚresultr r rr\szregister.verify_metadatac Cs |jr d}|j}|j}nd}d}}d ¡}||vr6| dtj¡tƒ}|s*d}n||vr2tdƒ||vs|dkr¿|sBtdƒ}|r<|sKt   d¡}|rDt j   ¡}t j  |j¡d }| |j|||¡| | d ¡|¡\}}| d ||ftj¡|d kr»|jr…||j_dS| d tj¡| d| ¡tj¡d}| ¡dvr­tdƒ}|s§d}| ¡dvsŸ| ¡dkr½| ||¡dSdSdS|dkr]ddi} d| d<| d<| d<d| d<| dsætdƒ| d<| drÜ| d| dkr,| dsþt   d¡| d<| dró| dst   d¡| d<| dr| d| dkr$d| d<d| d<tdƒ| d| dksï| dsrNZ urllib.parser$Zurllib.requestÚwarningsrZdistutils.corerZdistutils.errorsZ distutilsrrr r r rÚs