
    =e                     p    d dl 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
 g dZ G d d	          ZdS )
    Nbasename)errors   )data_uri_from)parameterize)ipynbcsvymlyamljsonmdrsttxtc                       e Zd ZdZdZdZdZd ZddZd Z	e
d             Ze
d             Ze
d	             Ze
d
             Ze
d             Ze
d             Ze
d             Ze
d             ZdS )Uploaderz
    * Find or create a package (project)
    * Find or create release (version)
    * List files from project
    * Upload new files to project
    Nc                 N   || _         || _        |                    dd           | _        |                    dd           | _        |                    dd           | _        |                    dd           | _        d|v r$|d         t          |d                   | _        d S d S d S )Nuserversionsummary	thumbnailname)	aserver_apifilepathget	_username_version_summary
_thumbnailr   _project)selfr   r   kwargss       Flib/python3.11/site-packages/binstar_client/utils/notebook/uploader.py__init__zUploader.__init__   s    & FD11

9d33

9d33 **[$77Vv :(88DMMM  : :    Fc           
         	 | j                             | j        | j        | j        t          | j                  t          | j        d          | j                            d          d                   S # t          j
        $ ro}|r-|                                  |                                 cY d}~S d                    | j        | j        | j                  }t          j        |          |d}~ww xY w)zY
        Uploads a notebook
        :param force: True/False
        :returns {}
        rb.Nz#Conflict: {} already exist in {}/{})r   uploadusernameprojectr   r   r   opensplitr   ConflictremoveformatBinstarError)r!   forceerrormsgs       r#   r*   zUploader.upload$   s    		6#**4=$,+3DM+B+BDX\D]D]+/=+>+>s+C+CB+GI I I  	6 	6 	6 %{{}}$$$$$$7>>t}dl\`\hiiC%c**5	6s$   A0A3 3C1)C,+C11;C,,C1c                 h    | j                             | | j        | j        | j        | j                  S )Nr   )r   remove_distr+   r,   r   notebookr!   s    r#   r0   zUploader.remove5   s5    ++$-t|dm , 
 
 	
r%   c                 @    | j         dt          | j                   iS i S )Nr   )r   r   r9   s    r#   notebook_attrszUploader.notebook_attrs:   s$    ?&t!?!?@@	r%   c           	          | j         Et          j        ddt          t          j                            | j                                      S | j         S )Nz\-ipynb$ )r    resubr   ospathr   r   r9   s    r#   r,   zUploader.project@   s@    = 6+r<8H8H8W8W+X+XYYY}r%   c                 f    | j         $| j                                        d         | _         | j         S )Nlogin)r   r   r   r9   s    r#   r+   zUploader.usernameF   s-    >!!-2244W=DN~r%   c                 P    | j         t          j        d          | _         | j         S )Nz%Y.%m.%d.%H%M)r   timestrftimer9   s    r#   r   zUploader.versionL   s#    =  M/::DM}r%   c                 ,    | j         d| _         | j         S )NzIPython notebook)r   r9   s    r#   r   zUploader.summaryR   s    = .DM}r%   c                    | j         x	 | j                            | j        | j                  | _         nL# t
          j        $ r: | j                            | j        | j        | j        | j	                  | _         Y nw xY w| j         S )N)r   attrs)
_packager   packager+   r,   r   NotFoundadd_packager   r;   r9   s    r#   rK   zUploader.packageX   s    = X $ 0 8 8 U U? X X X $ 0 < <T]DLEI\CGCV != !X !XX }s   *4 AA=<A=c           	         | j         z	 | j                            | j        | j        | j                  | _         nH# t          j        $ r6 | j                            | j        | j        | j        d d d           | _         Y nw xY w| j         S )N)	_releaser   releaser+   r,   r   r   rL   add_releaser9   s    r#   rP   zUploader.releasec   s    = ] $ 0 8 8VZVb c c? ] ] ] $ 0 < <T]DL=A\4QUW[!] !]] }s   0: AA?>A?c                     | j         d         S )Nfiles)rK   r9   s    r#   rS   zUploader.filesm   s    |G$$r%   )F)__name__
__module____qualname____doc__rJ   rO   r    r$   r*   r0   propertyr;   r,   r+   r   r   rK   rP   rS    r%   r#   r   r      s9         HHH9 9 96 6 6 6"
 
 

   X
   X
   X
   X
   X
   X   X % % X% % %r%   r   )r@   r>   rE   os.pathr   binstar_clientr   data_urir   
inflectionr   VALID_FORMATSr   rY   r%   r#   <module>r_      s    
			 				        ! ! ! ! ! ! # # # # # # $ $ $ $ $ $KKK`% `% `% `% `% `% `% `% `% `%r%   