B
    Tò†[&
  ã               @   sv   d Z ddlm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mZmZ e d¡Zd	d
„ Zdd„ ZdS )zK
Usage:
    anaconda download notebook
    anaconda download user/notebook
é    )Úunicode_literalsN)Úerrors)Úget_server_api)ÚPACKAGE_TYPES)Ú
DownloaderÚparseÚhas_environmentzbinstar.downloadc             C   sˆ   d}| j dtj||td}|jdddd |jdd	d
dd |jddddd d tt ¡ ƒ¡}|jddd 	|¡dd |j
td d S )Nz0Download notebooks from your Anaconda repositoryÚdownload)Zformatter_classÚhelpÚdescriptionZepilogÚhandlezuser/notebookZstore)r
   Úactionz-fz--forceZ	OverwriteÚ
store_truez-oz--outputzDownload asÚ.)r
   Údefaultz, z-tz--package-typezOSet the package type [{0}]. Defaults to downloading all package types availableÚappend)Úmain)Ú
add_parserÚargparseZRawDescriptionHelpFormatterÚ__doc__Úadd_argumentÚjoinÚlistr   ÚkeysÚformatZset_defaultsr   )Z
subparsersr   ÚparserZ	pkg_types© r   ú_lib/python3.7/site-packages/anaconda_client-1.7.2-py3.7.egg/binstar_client/commands/download.pyr      s4    r   c             C   s@  t | j| jƒ}t| jƒ\}}|p*| ¡ d }t|||ƒ}| jpHtt	 
¡ ƒ}x*|D ]"}|tt	 
¡ ƒkrPtd |¡ƒ‚qPW yˆ|j|| j| jd}xn| ¡ D ]b\}}	| |	¡ t d | j|¡¡ t|ƒr–t d |¡¡ t d¡ t d |¡¡ t d¡ q–W W n< tjtjtjtfk
r: }
 zt |
¡ W d d }
~
X Y nX d S )	NZloginzInvalid package type '{}')ÚoutputÚforcez{} has been downloaded as {}z{} has an environment embedded.zRun:z    conda env create {}z)To install the environment in your system)r   ÚtokenZsiter   r   Úuserr   Zpackage_typer   r   r   Ú	Exceptionr   Zlist_download_filesr   r   Úitemsr	   ÚloggerÚinfor   r   ZDestionationPathExistsZNotFoundZBinstarErrorÚOSError)ÚargsZaserver_apiZusernameZnotebookZ
downloaderZpackages_typesZtyZdownload_filesZdownload_fileZdownload_distÚerrr   r   r   r   9   s(    


 r   )r   Z
__future__r   r   ZloggingZbinstar_clientr   Zbinstar_client.utilsr   Zbinstar_client.utils.configr   Zbinstar_client.utils.notebookr   r   r   Z	getLoggerr$   r   r   r   r   r   r   Ú<module>   s   
%