
    eW                     ~    d dl Z d dlZd dlmZ d dlmZ d dlZd dlmZ  e j	        d          Z
 G d de          ZdS )    N)ArgumentParser)Path)SubCommandBaserepo_clic                   h    e Zd ZdZd Z	 ddededej        fdZe	ddedefd            Z
d	efd
ZdS )
SubCommanddownloadc                    | j         j        rQ| j         j        rE|                     | j         j        | j         j        | j         j        r| j         j        nd            d S t
                              d           t                      )Nz/Not enough parameters to identify download file)argschannelnotebookdownload_notebookfilenameloggerinfoNotImplementedError)selfs    :lib/python3.11/site-packages/repo_cli/commands/download.pymainzSubCommand.main   s    9 	(!3 	(""	!	"&*i&8B	""d     KKIJJJ%'''    Nr   notebook_namer   c                     | j                             ||          }t          j        |d          }t	          |                     ||          d                              |j                   d S )NT)allow_redirectswb)apiget_notebook_download_urlrequestsgetopenget_filenamewritecontent)r   r   r   r   urlrs         r   r   zSubCommand.download_notebook   se     h00-HHLd333T}h77>>DDQYOOOOOr   c                 @   |rgt          |          }|                                st          j                            |          S t
                              d| d           t          | dz   }t          j                            t          j	                    |          S )NzFile z5 already exists. Please specify a different filename.z.ipynb)
r   is_fileospathabspathr   errorFileExistsErrorjoingetcwd)r   r   files      r   r    zSubCommand.get_filename$   s     	&>>D<<>> &wx000[H[[[   &% 8+w||BIKK222r   
subparsersc                 Z   |                     ddt                    | _        | j                            dt          d           | j                            dt          d           | j                            d	t          d
d d           | j                            | j                   d S )Nr	   zHelp string)helpdescriptionz	--channelzChannel name)typer1   z
--notebookzNotebook namez
--filenameFzbfilename to save the report. Can contain full path for report to be saved in a different directory)r3   requireddefaultr1   )r   )
add_parser__doc__	subparseradd_argumentstrset_defaultsr   )r   r/   s     r   r6   zSubCommand.add_parser2   s    #..] / 
 
 	##Kc#OOO##Ls#QQQ##u 	$ 	
 	
 	
 	###33333r   )N)__name__
__module____qualname__namer   r:   r'   r(   r   staticmethodr    r   r6    r   r   r   r      s        D	( 	( 	( EIP PP+.P:<'P P P P 3 3C 33 3 3 3 \34^ 4 4 4 4 4 4r   r   )loggingr'   argparser   pathlibr   r   repo_cli.commands.baser   	getLoggerr   r   rA   r   r   <module>rG      s     				 # # # # # #        1 1 1 1 1 1		:	&	&64 64 64 64 64 64 64 64 64 64r   