
    c                         d Z ddlmZmZ ddlZddlmZ ddlmZ ddl	m
Z
 d Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd ZdS )z4Commands related to setting and unsetting variables.    )absolute_importprint_functionN)load_project)project_ops)console_utilsc                     t          |          dk    r|t          dt          j                   dS t	          |           }t          j        ||||d         |i          }|rdS t          j        |           dS )zOAdd env variables to project file.

    Returns:
        Returns exit code
       NzmIt isn't clear which variable your --default option goes with; add one variable at a time if using --default.)filer   )	lenprintsysstderrr   r   add_variablesr   print_status_errors)project_direnv_spec_namevars_to_adddefaultprojectstatuss         Olib/python3.11/site-packages/anaconda_project/internal/cli/variable_commands.pyr   r      s     ;!   	 ?EHZ	Q 	Q 	Q 	Q q;''G&w{[YZ^]dLeffF q)&111q    c                     t          |           }t          j        |||          }|rdS t          j        |           dS )zdRemove env variable requirements from the project file.

    Returns:
        Returns exit code
    r   r	   )r   r   remove_variablesr   r   )r   r   vars_to_remover   r   s        r   r   r   (   sH     ;''G)'=.QQF q)&111qr   c                     t          |           }t          j        |          rdS t          d                    |                      t          j        |                    |          d           dS )z"List variables present in project.r	   zVariables for project: {}
env_var)	name_attrr   )r   r   print_project_problemsr   formatprint_names_and_descriptionsall_variable_requirements)r   r   r   s      r   list_variablesr#   7   so    ;''G+G44 q	
'
.
.{
;
;<<<.w/P/PQ^/_/_ktuuuu1r   c           	      t   g }|D ]a}d|vr%t          d                    |                      dS |                    t          |                    dd                               bt          |           }t          j        |||          }|rt          |j                   dS t          j
        |           dS )zYSet the given variables to the given values.

    Returns:
        Returns exit code
    =z3Error: argument '{}' should be in NAME=value formatr	   r   )r   r    appendtuplesplitr   r   set_variablesstatus_descriptionr   r   )r   r   vars_and_values
fixed_varsvarr   r   s          r   r)   r)   A   s     J 4 4c> 	GNNsSSTTT11%		#q 1 1223333;''G&wzJJF f'(((q)&111qr   c                     t          |           }t          j        |||          }|rt          |j                   dS t          j        |           dS )zSUnset the variables for local project.

    Returns:
        Returns exit code
    r   r	   )r   r   unset_variablesr   r*   r   r   )r   r   vars_to_unsetr   r   s        r   r/   r/   X   sY     ;''G(-OOF f'(((q)&111qr   c                 N    t          | j        | j        | j        | j                  S )zAdd variables main.)r   	directoryenv_specr   r   argss    r   main_addr6   h   s    8H$,WWWr   c                 B    t          | j        | j        | j                  S )zRemove variables main.)r   r2   r3   r   r4   s    r   main_remover8   m   s    DNDM4;NOOOr   c                 6    t          | j        | j                  S )z List the project variable names.)r#   r2   r3   r4   s    r   	main_listr:   r   s    $.$-888r   c                 B    t          | j        | j        | j                  S )zSet the project variables.)r)   r2   r3   r+   r4   s    r   main_setr<   w   s    8LMMMr   c                 B    t          | j        | j        | j                  S )zUnset the project variables.)r/   r2   r3   r0   r4   s    r   
main_unsetr>   |   s    4>4=$:LMMMr   )__doc__
__future__r   r   r   *anaconda_project.internal.cli.project_loadr   anaconda_projectr   anaconda_project.internal.clir   r   r   r#   r)   r/   r6   r8   r:   r<   r>    r   r   <module>rE      s   ; : 6 6 6 6 6 6 6 6 



 C C C C C C ( ( ( ( ( ( 7 7 7 7 7 7  ,      .   X X X
P P P
9 9 9
N N N
N N N N Nr   