
    SIg                     @    d dl mZ d dlmZ dgZ G d de          ZdS )   )collections)
ConnectionYouTrackClientc                   0    e Zd ZeZd Zd Zd Zd Zd Z	dS )r   c                    i | _         |                    dd           }| | j        |i |}| |_        || _        |                     t          j                  | _        |                     t          j	                  | _
        |                     t          j                  | _        |                     t          j                  | _        |                     t          j                  | _        d S )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22D))+*;<<
,,[-ABB**;+=>>--k.HII 001IJJ    c                 ^    || j         vr || j                  | j         |<   | j         |         S N)r	   r   )r   clss     r   r   zYouTrackClient._get_collection   s8    d'''%(S)9%:%:Dc" %%r   c                     i }| j         D ]A}| j                             |          |d<   ||d|d                             dd           <   B|S )Nvaluescf_id-_)r   elementsreplace)r   fields_fields      r   
get_fieldszYouTrackClient.get_fields!   sd    & 	C 	CE"/88??E(O=BG9%+--c37799::r   c                     t          |d          5 }| j                            |          D ]}|                    |           	 d d d            d S # 1 swxY w Y   d S )Nzwb+)path)openr   streamwrite)r   
attachment	directoryfchunks        r   downloadzYouTrackClient.download(   s    )U## 	q)00j0AA  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   4AAAc                 8    | j                                          d S 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      sg        IK K K$& & &
    
! ! ! ! !r   N) r   r   r   __all__r   r=   r   r   <module>r@      se          " " " " " "
'! '! '! '! '!Z '! '! '! '! '!r   