1 #ˆ¿Ã ƒt/=Âa–ß=¿JJj"Tâ�Æ�pS�ÿÁa ´iÀ-ã@s`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 ú2/usr/lib64/python3.9/distutils/command/register.pyÚózregister.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_optionscCsT| ¡| ¡| ¡D]}| |¡q|jr8| ¡n|jrH| ¡n| ¡dS)N) rÚ _set_configZget_sub_commandsZ run_commandÚdry_runÚverify_metadatarÚ classifiersÚ send_metadata)r Zcmd_namer r rÚrun+s    z register.runcCs8tdtƒ|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_metadatacCsz| ¡}|ikr@|d|_|d|_|d|_|d|_d|_n6|jd|jfvr^td|jƒ‚|jdkrp|j|_d|_dS) NÚusernameÚpasswordÚ repositoryÚrealmTZpypiz%s not found in .pypircF)Z _read_pypircrr r!r"Ú has_configZDEFAULT_REPOSITORYÚ ValueError)r Zconfigr r rrDs     zregister._set_configcCs*|jd}tj |¡}t | |¡¡dS)Nz?:action=list_classifiers)r!ÚurllibÚrequestÚurlopenrÚinfoÚ_read_pypi_response)r ÚurlÚresponser 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Ü|jrd}|j}|j}n d}d}}d ¡}||vrd| dtj¡tƒ}|sRd}q,||vr,tdƒq,|dk�rl|s|tdƒ}qn|sŒt   d¡}q|t j   ¡}t j  |j¡d }| |j|||¡| | d ¡|¡\}}| d ||ftj¡|d k�rØ|j�r||j_nf| d tj¡| d| ¡tj¡d}| ¡dv�rNtdƒ}|�s*d}�q*| ¡dk�rØ| ||¡�nl|dk�rˆddi} d| d<| d<| d<d| d<| d�s¸tdƒ| d<�qž| d| dk�r0| d�sæt   d¡| d<�qÊ| d�st   d¡| d<�qæ| d| dk�r¸d| d<d| d<tdƒ�q¸| d�sJtdƒ| d<�q0| | ¡\}}|d k�rrt d ||¡nt d¡t d¡nP|d k�rØdd!i} d| d<| d�s¼td"ƒ| d<�q¢| | ¡\}}t d ||¡dS)#NÚ1ÚxÚz1 2 3 4zâWe need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: z&Please choose one of the four options!z Username: z Password: rÚsubmitr,éÈzAI can store your PyPI login so future submissions will be faster.z (the login will be stored in %s)ÚXZynzSave your login (y/N)?ÚnÚyÚ2ú:actionÚuserÚnamer ZemailZconfirmz Confirm: z!