
    6g                     8    d dl mZ d dlmZ dgZ G d de      Zy)   )collections)
ConnectionYouTrackClientc                   .    e Zd ZeZd Zd Zd Zd Zd Z	y)r   c                    i | _         |j                  dd       }| | j                  |i |}| |_        || _        | j                  t        j                        | _        | j                  t        j                        | _
        | j                  t        j                        | _        | j                  t        j                        | _        | j                  t        j                        | _        y )N
connection)_collectionspop	connector_client_connection_get_collectionr   UsersusersProjectsprojectsIssuesissuesIssueLinkTypes	linktypesCustomFieldscustomfields)selfargskwargsconns       ,./modules/youtrack/youtrack_client/client.py__init__zYouTrackClient.__init__
   s    zz,-<!4>>4262D))+*;*;<
,,[-A-AB**;+=+=>--k.H.HI 001I1IJ    c                 z    || j                   vr || j                        | j                   |<   | j                   |   S N)r	   r   )r   clss     r   r   zYouTrackClient._get_collection   s<    d'''%()9)9%:Dc"  %%r   c                     i }| j                   D ];  }| j                   j                  |      |d<   ||d|d   j                  dd       <   = |S )Nvaluescf_id-_)r   elementsreplace)r   fields_fields      r   
get_fieldszYouTrackClient.get_fields!   sb    && 	CE"//88?E(O=BGc%+--c3789:	C r   c                     t        |d      5 }| j                  j                  |      D ]  }|j                  |        	 d d d        y # 1 sw Y   y xY w)Nzwb+)path)openr   streamwrite)r   
attachment	directoryfchunks        r   downloadzYouTrackClient.download(   sQ    )U# 	q))00j0A 	 	 	s   3A

Ac                 8    | j                   j                          y r!   )r   close)r   s    r   r9   zYouTrackClient.close-   s     r   N)
__name__
__module____qualname__r   r   r   r   r-   r7   r9    r   r   r   r      s!    IK$&

!r   N) r   r   r   __all__r   r=   r   r   <module>r@      s     "
'!Z '!r   