ó
žS]c           @@ sķ   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(   s4   Commands related to setting and unsetting variables.i    (   t   absolute_importt   print_functionN(   t   load_project(   t   project_ops(   t   console_utilsc         C@ s   t  |  d k r5 | d k	 r5 t d d t j d St |   } t j | | | i | | d 6 } | rn d St j	 |  d Sd S(   sO   Add env variables to project file.

    Returns:
        Returns exit code
    i   sm   It isn't clear which variable your --default option goes with; add one variable at a time if using --default.t   filei    N(
   t   lent   Nonet   printt   syst   stderrR   R   t   add_variablesR   t   print_status_errors(   t   project_dirt   env_spec_namet   vars_to_addt   defaultt   projectt   status(    (    sN   lib/python2.7/site-packages/anaconda_project/internal/cli/variable_commands.pyR      s    	
#c         C@ s@   t  |   } t j | | |  } | r+ d St j |  d Sd S(   sd   Remove env variable requirements from the project file.

    Returns:
        Returns exit code
    i    i   N(   R   R   t   remove_variablesR   R   (   R   R   t   vars_to_removeR   R   (    (    sN   lib/python2.7/site-packages/anaconda_project/internal/cli/variable_commands.pyR   (   s    c         C@ sR   t  |   } t j |  r d St d j |    t j | j |  d d d S(   s"   List variables present in project.i   s   Variables for project: {}
t	   name_attrt   env_vari    (   R   R   t   print_project_problemsR   t   formatt   print_names_and_descriptionst   all_variable_requirements(   R   R   R   (    (    sN   lib/python2.7/site-packages/anaconda_project/internal/cli/variable_commands.pyt   list_variables7   s    c         C@ sĶ   g  } xP | D]H } d | k r6 t  d j |   d S| j t | j d d    q Wt |   } t j | | |  } | r t  | j  d St	 j
 |  d Sd S(   sY   Set the given variables to the given values.

    Returns:
        Returns exit code
    t   =s3   Error: argument '{}' should be in NAME=value formati   i    N(   R   R   t   appendt   tuplet   splitR   R   t   set_variablest   status_descriptionR   R   (   R   R   t   vars_and_valuest
   fixed_varst   varR   R   (    (    sN   lib/python2.7/site-packages/anaconda_project/internal/cli/variable_commands.pyR    A   s    #c         C@ sM   t  |   } t j | | |  } | r8 t | j  d St j |  d Sd S(   sS   Unset the variables for local project.

    Returns:
        Returns exit code
    i    i   N(   R   R   t   unset_variablesR   R!   R   R   (   R   R   t   vars_to_unsetR   R   (    (    sN   lib/python2.7/site-packages/anaconda_project/internal/cli/variable_commands.pyR%   X   s    c         C@ s   t  |  j |  j |  j |  j  S(   s   Add variables main.(   R   t	   directoryt   env_specR   R   (   t   args(    (    sN   lib/python2.7/site-packages/anaconda_project/internal/cli/variable_commands.pyt   main_addh   s    c         C@ s   t  |  j |  j |  j  S(   s   Remove variables main.(   R   R'   R(   R   (   R)   (    (    sN   lib/python2.7/site-packages/anaconda_project/internal/cli/variable_commands.pyt   main_removem   s    c         C@ s   t  |  j |  j  S(   s    List the project variable names.(   R   R'   R(   (   R)   (    (    sN   lib/python2.7/site-packages/anaconda_project/internal/cli/variable_commands.pyt	   main_listr   s    c         C@ s   t  |  j |  j |  j  S(   s   Set the project variables.(   R    R'   R(   R"   (   R)   (    (    sN   lib/python2.7/site-packages/anaconda_project/internal/cli/variable_commands.pyt   main_setw   s    c         C@ s   t  |  j |  j |  j  S(   s   Unset the project variables.(   R%   R'   R(   R&   (   R)   (    (    sN   lib/python2.7/site-packages/anaconda_project/internal/cli/variable_commands.pyt
   main_unset|   s    (   t   __doc__t
   __future__R    R   R	   t*   anaconda_project.internal.cli.project_loadR   t   anaconda_projectR   t   anaconda_project.internal.cliR   R   R   R   R    R%   R*   R+   R,   R-   R.   (    (    (    sN   lib/python2.7/site-packages/anaconda_project/internal/cli/variable_commands.pyt   <module>   s   			
						