
    wBf                         d Z ddlmZmZmZ ddlmZ ddlmZm	Z	 ddl
mZ ddlmZ ded	efd
Zdeded	efdZdeded	efdZdeded	efdZy)zZCLI implementation for `conda-env config vars`.

Allows for configuring conda-env's vars.
    )ArgumentParser	Namespace_SubParsersAction)lexists   )contextdetermine_target_prefix)
PrefixData)EnvironmentLocationNotFoundsub_parsersreturnc                 L   ddl m} ddlm}m} d}|} |d      } | j
                  	 d|||d|}|j                         }	d	}
|
} |d
      }|	j                  d|
||      } ||        ||       |j                  d       d}|} |d      }|	j                  d|||      }|j                  dddd        ||       |j                  d       d}|} |d      }|	j                  d|||      }|j                  dddd        ||       |j                  d       y )Nr   )dals   )add_parser_jsonadd_parser_prefixzGInteract with environment variables associated with Conda environments.z
        Examples::

            conda env config vars list -n my_env
            conda env config vars set MY_VAR=something OTHER_THING=ohhhhya
            conda env config vars unset MY_VAR

        vars)helpdescriptionepilogz3List environment variables for a conda environment.zN
        Example::

            conda env config vars list -n my_env

        listz$conda.cli.main_env_vars.execute_list)funcz2Set environment variables for a conda environment.zO
        Example::

            conda env config vars set MY_VAR=weee

        setstore*zJEnvironment variables to set in the form <KEY>=<VALUE> separated by spaces)actionnargsr   z#conda.cli.main_env_vars.execute_setz4Unset environment variables for a conda environment.zL
        Example::

            conda env config vars unset MY_VAR

        unsetzDEnvironment variables to unset in the form <KEY> separated by spacesz%conda.cli.main_env_vars.execute_unset)r   )	
auxlib.ishr   helpersr   r   
add_parseradd_subparsersset_defaultsadd_argument)r   kwargsr   r   r   var_summaryvar_description
var_epilog
var_parservar_subparserlist_summarylist_descriptionlist_epiloglist_parserset_summaryset_description
set_epilog
set_parserunset_summaryunset_descriptionunset_epilogunset_parsers                         7lib/python3.12/site-packages/conda/cli/main_env_vars.pyconfigure_parserr8      s   !; 	R  "O		J (''#	
 J --/MHL#	K  **$	 + K k"K "HIFK!O	J ))#	 * J Y	   j!!FGJM%	L !++%	 , L S	   l##JK    argsparserc                    ddl m} t        t        |       }t	        |      st        |      t        |      }|j                         }| j                  r|j                  |       y|j                         D ]  \  }}t        | d|         y)Nr   )commonz = r   ) r=   r	   r   r   r   r
   get_environment_env_varsjsonstdout_jsonitemsprint)r:   r;   r=   prefixpdenv_varskvs           r7   execute_listrI   z   s    $Wd3F6?)&11	F	B**,Hyy8$
  NN$ 	 DAqQCs1#,	  r9   c                 x   t        t        |       }t        |      }t        |      st	        |      i }| j
                  D ]I  }|j                  d      }dj                  |dd        j                         ||d   j                         <   K |j                  |       |t        j                  k(  rt        d       y)N=r   r   CTo make your changes take effect please reactivate your environment)r	   r   r
   r   r   r   splitjoinstripset_environment_env_varsactive_prefixrC   )r:   r;   rD   rE   env_vars_to_addvarvar_defs          r7   execute_setrU      s    $Wd3F	F	B6?)&11Oyy L))C..1hhwqr{.C.I.I.K
((*+L 0&&&STr9   c                    t        t        |       }t        |      }t        |      st	        |      | j
                  D cg c]  }|j                          }}|j                  |       |t        j                  k(  rt        d       yc c}w )NrL   r   )
r	   r   r
   r   r   r   rO   unset_environment_env_varsrQ   rC   )r:   r;   rD   rE   rS   vars_to_unsets         r7   execute_unsetrY      st    $Wd3F	F	B6?)&11,0II6SSYY[6M6!!-0&&&ST 7s    B	N)__doc__argparser   r   r   os.pathr   base.contextr   r	   core.prefix_datar
   
exceptionsr   r8   intrI   rU   rY    r9   r7   <module>rb      s   
 
  ; ) 4cL"3 cL. cLLy . S &i  C "	 > c r9   