qCddlmZddlmZddlmZddlZddlZddlZddlZddlm Z dggdgggZ dZ d Z d Z d ZdZdZd ZddZddZdZdZedkr edSdS))print_function)division)absolute_importN)mkdir_pnodenpmzset_env_vars.pyactivate node_wrapper npm_wrapperz/usr/share/l.v.e-manager/utils/cZt|tjt|dS)N)file)printsysstderrexit)msg exit_codes 5./commons/lib/clselect/clselectnodejsuser/nodevenv.py fail_withr"s& #CJOOOOOFc\tj|}tj|d}|rK t jtj|dn#t tf$rYnwxYwt|tj|t}tj|t}tj|t}tj|t}tjtt}tjtt} tjtt} tjtt} tj| |tj||tj| |tj| |dS)Nbin)ospath expanduserjoinshutilrmtreeIOErrorOSErrorrSET_ENV_SCRIPTACTIVATE_SCRIPTNODENPMBIN_DIR NODE_WRAPPER NPM_WRAPPERsymlink) destinationr destroy_firstvenv_binset_env_script_abs activate_absnode_wrapper_absnpm_wrapper_abslink_set_env_scriptlink_activate_pathlink_node_path link_npm_paths rcreater5's'$$[11Kw||K//H  M"',,{E:: ; ; ; ;!    D  Hh??7<</::Lw||Hd33gll8S11O',,w??g??W\\'<88NGLL+66MJ!<000J"$6777J~/000J}o.....s2A66B  B c tjtjdddddg\}}nZ#tj$rH}t t |t tjdYd}~nd}~wwxYwd}d}|s1t dt tjd|d}|D]6\}}|dvr|} |d vrd }t d tjd7 t||| dS#t$r}t|j Yd}~dSd}~wwxYw) Nr zn:rznode=z recreate-binFzno destination specifiedr)z-nz--node)z-rz--recreate-binTzunhandled option)r+) getoptrargv GetoptErrorrstrusagerr5r!rstrerror) optsargserrrr+r*oaes rmainrCDs|]38ABB<.8QRR dd   c#hh    DM  ()))   q'K1  DD * * * MM $ % % % HQKKKK{D >>>>>> !*s,-0B>BBD E!D;;EctdtjdzdzttdtdtddS)NzUsage: rz [OPTIONS] VENVzOptions:zA -n, --node PATH Node interpreter to use to create new venvz( -h, --help Show this message)rrr8rrr;r;es\ )chqk !$5 5666 GGG * MNNN 455555r__main__)r )NF) __future__rrrr7rrrclselect.utilsr WRAP_LISTr"r#r'r(r$r%r&rr5rCr;__name__rErrrKs&%%%%%&&&&&& """""" RL BK  #     + ////:B666 zDFFFFFr