
    =e$                    f   d Z ddlmZ dZddlZddlmZ ddlZddlZddl	Z	ddl
Z
ddlZddlZddlZddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ  ej        d          Zd*dZd+dZd Zd Z G d dej                  Zd Zd Zd,dZ 	 	 d-d.d"Z!d/d$Z"	 d0ddd%d1d(Z#e$d)k    r e#             dS dS )2z)Anaconda repository command line manager.    )annotations)mainN)metadata)__version__)commands)errors)interactive_login)logging_utilsbinstargroupstrreturn typing.List[metadata.EntryPoint]c                    t           j        j        dk    r<t           j        j        dk     r't	          j                                        | g           S t	          j                                        |           S )N   
   r   )sysversion_infomajorminorr   entry_pointsgetselectr   s    :lib/python3.11/site-packages/binstar_client/scripts/cli.py_get_entry_pointsr      sb    
""s'7'='B'B$&&**5"555 "")))666    valuec                   t           j                            |           rut          | dd          5 }|                    d          }t          |          dk    rt          d          |                                cddd           S # 1 swxY w Y   t          d          	                    |           st                      | S )	z
    Retrieve a token from input.

    If :code:`value` is a path to a valid file - content of this file will be returned. Otherwise - value itself is
    returned.
    rtutf8)encodingi   i    zfile is too large for a tokenNz/\.)
ospathisfileopenreadlen
ValueErrorstripset
isdisjoint)r   streamresults      r   file_or_tokenr/   $   s     
w~~e "%/// 	"6 ++d++F6{{T!! !@AAA<<>>		" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" v;;!!%((  llLs   AB

BBc                   t          |                                           }|                    d          r|d         |z  |d<   t          | t          j                  rC|                    dd            i }|                                 D ]}|j        ||j	        <   ||d<   d | j
        j        d                                         D             }|                    t          |           t          |           j                  |d<   |d         dk    r1|                    d          s| j	                                        |d<   |                    dd            |                    dd            |S )	Nhelpchoicesc                    i | ]\  }}||	S  r4   ).0keyr   s      r   
<dictcomp>z _json_action.<locals>.<dictcomp>I   s    
W
W
W*#u5#
W
W
Wr   actionstoremetavartypedefault)dict_get_kwargsr   
isinstanceargparse_SubParsersActionpop_get_subactionsr1   dest	container_registriesitemsr;   __name__upper)r8   a_datar2   choiceregs        r   _json_actionrM   ;   s\   &$$&&''Fzz& 1&0v&(455 $

9d###,,.. 	/ 	/F#);GFK  #y
W
W(8(DX(N(T(T(V(V
W
W
WCwwtF||T&\\-BCCF8h7""6::i+@+@""K--//y
JJvt
JJy$Mr   c                z    | j         | j        d | j        D             d}| j        rd | j        D             |d<   |S )Nc                V    g | ]&}|j         t          j        k    t          |          'S r4   )r1   r@   SUPPRESSrM   )r5   r8   s     r   
<listcomp>z_json_group.<locals>.<listcomp>Y   s0    pppVv{^f^oOoOoL((OoOoOor   )descriptiontitleactionsc                ,    g | ]}t          |          S r4   )_json_group)r5   r   s     r   rQ   z_json_group.<locals>.<listcomp>]   s     SSSUk%00SSSr   groups)rR   rS   _group_actions_action_groups)r   grp_datas     r   rV   rV   T   s]     (ppu7Kppp H  TSSe>RSSSOr   c                  ,    e Zd Zdej        fdZddZdS )	_JSONHelpr   c                >    t          j        j        | ||f||d| d S )N)nargsr1   )r@   Action__init__)selfoption_stringsrD   r^   r1   kwargss         r   r`   z_JSONHelp.__init__d   s/     ~t^5t^^W]^^^^^r   Nc                L   d| _         |j        |                                dd          |j        |j        d}g |d<   |j        D ]1}|j        r(|d                             t          |                     2t          j
        |t          j        d           t          d          )Nr      )progusagerR   epilogrW      )indent)r^   rf   format_usagerR   rh   rY   rX   appendrV   jsondumpr   stdout
SystemExit)ra   parser	namespacevaluesoption_stringdocsr   s          r   __call__z_JSONHelp.__call__g   s    
K((**122.!-m	
 
 X* 	: 	:E# :X%%k%&8&8999	$
1----mmr   N)rH   
__module____qualname__r@   rP   r`   rv   r4   r   r   r\   r\   b   sH        348;L _ _ _ _     r   r\   c                    d t          j        t          j                            | j                  g          D             S )Nc                D    g | ]\  }}}|                     d           |S )_)
startswith)r5   r|   names      r   rQ   z*_get_sub_command_names.<locals>.<listcomp>{   s3    xxxZQacgcrcrsvcwcwxDxxxr   )pkgutiliter_modulesr#   r$   dirname__file__)modules    r   _get_sub_command_namesr   z   s4    xx7#79Y9Y8Z#[#[xxxxr   c              #     K   t          |           }t          | j        p| j        |          }|D ]}t	          ||          V  d S )N)fromlist)r   
__import____package__rH   getattr)r   namesthis_moduler~   s       r   _get_sub_commandsr   ~   sa      "6**EV/B6?USSSK ) )k4(((((() )r   c                   |                      dd          }|r't          |          D ]}|                    |           |r1t          |          D ]!}|                                } ||           "|j                                        D ]7\  }}|                    |           |                    dt                     8d S )NCommands )rS   r:   )sub_command_namez--json-help)r8   )
add_subparsersr   
add_parserr   loadr2   rG   set_defaultsadd_argumentr\   )	rq   r   entry_point_name
subparserscommand_moduleentry_pointr   r6   
sub_parsers	            r   _add_subparser_modulesr      s    &&Z&DDJ 2/77 	2 	2N%%j1111 #,-=>> 	# 	#K$))++JJz""""%-3355 A AZ555i@@@@A Ar   Tsub_command_moduletypes.ModuleTypeargs%typing.Optional[typing.Sequence[str]]exit_boolintc           	        t          j        t          t           j                  }|                    d          }|                    dddd           |                    ddd	
           |                    ddddt          j        t          j        d           |                    ddddt          j	        d           |                    d          }|                    ddt          d           |                    dddd           t          r"|                    dd d!d"t           d#$           t          || d%           |                    |          }t          j        t           |j        |j        |j        &           	 	 t)          |d'          r|                    |          S |                    d(           ny# t.          j        $ rg |j        st4          j                                        s t                               d)           t=          |           |                    |          cY S w xY wnH# t.          j        $ r6}|j         !                                 |rtE          d*          |Y d}~d*S d}~ww xY wd+S ),z"Run `anaconda-client` cli utility.)rR   formatter_classoutputz--disable-ssl-warnings
store_trueFz+Disable SSL warnings (default: %(default)s))r8   r<   r1   z--show-tracebackzGShow the full traceback for chalmers user errors (default: %(default)s))r8   r1   z-vz	--verbosestore_const	log_levelz&print debug information on the console)r8   rD   r<   constr1   z-qz--quietz+Only show warnings or errors on the console)r8   rD   r   r1   zanaconda-client optionsz-tz--tokenzRAuthentication token to use. May be a token or a path to a file containing a token)r;   r1   z-sz--siteNz&select the anaconda-client site to use)r<   r1   z-Vz	--versionversionz&%(prog)s Command line client (version ))r8   r   zconda_server.subcommand)r   show_tracebackdisable_ssl_warningsr   zUA sub command must be given. To show all available sub commands, run:

	 anaconda -h
zFThe action you are performing requires authentication, please sign in:   r   )#r@   ArgumentParser__doc__RawDescriptionHelpFormatteradd_argument_groupr   loggingINFODEBUGWARNINGr/   r   r   
parse_argsr
   setup_loggingloggerr   r   r   hasattrr   errorr   Unauthorizedtokenr   stdinisattyinfor	   ShowHelpr   
print_helprp   )r   r   r   rq   r   	argumentsr   s          r   binstar_mainr      s    '/&=X-Q' ' 'F %%h//E	 u:     
<V     
k-k7<_f_l5     
iKw:    
 %%&?@@E	ima     
tXt:bccc 
+i9pbm9p9p9p 	 	
 	
 	
 6#57PQQQ$*$5$5d$;$;I% /&;	   		-y&)) 1 ~~i000LLtuuuu" 	- 	- 	- sy'7'7'9'9 KK`aaai(((>>),,,,,	- v ?   ''))) 	+Q--U*qqqqq	
 1s=   
$G /G H? A3H;8H? :H;;H? ?J+I??J0typing.Optional[typing.Callable[[], typing.Any]]c                     d} t          |           }t          |          dk    r/t          dd                    d |D                       z             |r't	          |          d                                         S dS )zUAllow loading a new CLI main entrypoint via plugin mechanisms. There can only be one.zanaconda_cli.mainr   zxMore than one `anaconda_cli.main` plugin is installed. Please ensure only one of the following packages are installed:


c              3  *   K   | ]}d |j          V  dS )z  * N)r   )r5   eps     r   	<genexpr>z$_load_main_plugin.<locals>.<genexpr>   s-      ??B'RX''??????r   r   N)r   r(   EnvironmentErrorjointupler   )plugin_group_nameplugin_mainss     r   _load_main_pluginr      s    +>5FGX5Y5YL
<1;II??,?????@
 
 	
  -
 \""1%**,,,4r   )r   allow_plugin_mainr   Nonec                   |r<t           j                            dd          st                      }| |             dS t	          t
          | |           dS )z+Entrypoint for CLI interface of `anaconda`. ANACONDA_CLIENT_FORCE_STANDALONEr   N)r#   environr   r   r   r   )r   r   r   plugged_in_mains       r   r   r      sa      "*..1SUW"X"X L]L_L_&OF4'''''r   __main__)r   r   r   r   )r   r   r   r   )NN)NT)r   r   r   r   r   r   r   r   )r   r   rw   )r   r   r   r   r   r   r   r   )%r   
__future__r   __all__r@   	importlibr   rm   r   r#   r   r   typestypingbinstar_clientr   r   r   binstar_client.commands.loginr	   binstar_client.utilsr
   	getLoggerr   r   r/   rM   rV   r_   r\   r   r   r   r   r   r   rH   r4   r   r   <module>r      s&   0 / " " " " " "
          				  



   & & & & & & # # # # # # ! ! ! ! ! ! ; ; ; ; ; ; . . . . . . 
	9	%	%7 7 7 7   .  2         0y y y) ) )A A A A( 7;C C C C CL   . 7;( "&	( ( ( ( ( (  zDFFFFF r   