_d).jdZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z Gdde Z y) zhdistutils.command.register Implements the Distutils 'register' command (register with the repository). N)warn) PyPIRCCommand)logceZdZdZej ddgzZej gdzZddfgZdZdZ d Z d Z d Z d Z d ZdZdZddZy)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)verifyr r checkcy)NTselfs H/usr/lib/python3/dist-packages/setuptools/_distutils/command/register.pyzregister.#scJtj|d|_d|_y)Nr)rinitialize_optionslist_classifiersr rs rrzregister.initialize_options%s((. ! rctj|d|jfdd}||jjd<y)Nr)r)r restructuredtextr )rfinalize_optionsr distributioncommand_options)r check_optionss rrzregister.finalize_options*sA&&t,"4;;/ / 6C))'2rc$|j|j|jD]}|j||jr|j y|j r|jy|jyN) r _set_configget_sub_commands run_commanddry_runverify_metadatar classifiers send_metadata)rcmd_names rrunz register.run3sx  --/ 'H   X & ' <<  "  " "        rctdt|jjd}|j |j |_d|_|jy)zDeprecated API.zVdistutils.command.register.check_metadata is deprecated; use the check command insteadr rN)rDeprecationWarningrget_command_objensure_finalizedr rr()rr s rcheck_metadatazregister.check_metadataBsR  ,  !!11':  {{ !" rc@|j}|ik7r0|d|_|d|_|d|_|d|_d|_y |jd|j fvrtd|jz|jdk(r|j |_d|_y ) z0Reads the configuration file and set attributes.usernamepassword repositoryrealmTpypiz%s not found in .pypircFN) _read_pypircr/r0r1r2 has_configDEFAULT_REPOSITORY ValueError)rconfigs rr zregister._set_configOs""$ R<":.DM":.DM$\2DODJ"DOvt/F/F&GG !:T__!LMM&("&"9"9#DOrc|jdz}tjj|}t j |j |y)z.Fetch the list of classifiers from the server.z?:action=list_classifiersN)r1urllibrequesturlopenrinfo_read_pypi_response)rurlresponses rr%zregister.classifiers_s<oo ;;>>))#. ))(34rcx|j|jd\}}tjd||y)z?G#" S= ."??<8>>113D<<((9!--2s]v&D>@ @DL @4 +d7m"DO6l$\2V 6lz"d9o5z*'.|'DD$z*y/&-ool&CDOy/ #tI6')D$&*DO=>z"d9o57m %l 3W 7m..t4LD&s{3T6B=>UV s]/0DDM7m %&< =W 7m..t4LD& HH/v > rch|jj}id|ddd|jd|jd|j d|j d|j d |jd |jd |jd |jd |jd|jd|jd|jd|jd|j!}|ds |ds|drd|d<|S)NrRmetadata_versionz1.0rTversionsummary home_pageauthor author_emaillicense descriptionkeywordsplatformr% download_urlprovidesrequires obsoletesz1.1)rmetadataget_name get_versionget_descriptionget_url get_contactget_contact_email get_licenceget_long_description get_keywords get_platformsget_classifiersget_download_url get_provides get_requires get_obsoletes)ractionmetarls rrDzregister.build_post_datas  )) v   DMMO  t'')  t++-     d&&(  D224  t'')  4446  ))+  **,  4//1  D113 ))+! " ))+# $ ++-% (  tJ/4 3D',D# $ rNcd|vr=|jdj|d|jtjd}d|z}|dz}t j }|jD]\}}t|tgtdfvr|g}|D]q}t|}|j||jd|z|jd|j||sX|d d k(sa|jd s|j||jd |jjd }d |ztt|d} tjj!|j|| } tjj#tjj%|} d} | j'| } |j(r|j+| }d} |j(r4d j;d|df}|j|tj| S#tj,j.$rH} |j(r| j0j3}| j4| j6f} Yd} ~ d} ~ wtj,j8$r} dt| f} Yd} ~ d} ~ wwxYw)z9Post a query to the server, and return a string response.rTzRegistering {} to {}z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254z --z--rz* Content-Disposition: form-data; name="%s"z   zutf-8z/multipart/form-data; boundary=%s; charset=utf-8)z Content-typezContent-length) password_mgrrJ)rLOKNizK---------------------------------------------------------------------------)rZrdr1r[r\ioStringIOitemstypestrwritegetvalueencodelenr:r;Request build_openerHTTPBasicAuthHandleropen show_responser>error HTTPErrorfpreadrEmsgURLErrorjoin)rrlrjboundary sep_boundary end_boundarybodykeyvalueheadersreqopenerrFers rrCzregister.post_to_serversi T> MM&--d6lDOOL   I( #d* {{}**, %JCE{48T"X"66 %E  <( H3NO 6" 5!U2Y$.JJt$ % % <  4}}%%g.N!#d)n  nn$$T__dGD,, NN / /T / B  [[%F!!//7F   ))XtX67C MM#w|| , ||%% #!!ttyy{VVQUU]F||$$ !#a&[F !s$I K#)>J,, K# KK#r)__name__ __module__ __qualname__rur user_optionsboolean_options sub_commandsrrr(r-r r%r$r&rDrCrrrrrsKK --F 1L$337O /01L C ! $ 5 ; ?B88rr)__doc__r_rr[ urllib.parser:urllib.requestwarningsrcorerdistutils._logrrrrrrs2  m}mr