U
    Įwh                     @   s2   d dl mZ d dlmZ dgZG dd deZdS )   )collections)
ConnectionYouTrackClientc                   @   s8   e Zd ZeZdd Zdd Zdd Zdd Zd	d
 Z	dS )r   c                 O   s|   i | _ |dd }|d kr&| j||}| |_|| _| tj| _| tj	| _
| tj| _| tj| _| tj| _d S )N
connection)_collectionspop	connectorZ_client_connection_get_collectionr   ZUsersZusersZProjectsZprojectsZIssuesZissuesZIssueLinkTypesZ	linktypesZCustomFieldscustomfields)selfargskwargsZconn r   ,./modules/youtrack/youtrack_client/client.py__init__
   s    zYouTrackClient.__init__c                 C   s$   || j kr|| j| j |< | j | S N)r   r	   )r   clsr   r   r   r
      s    
zYouTrackClient._get_collectionc                 C   s>   i }| j D ].}| j ||d< ||d|d dd < q
|S )NvaluesZcf_id-_)r   elementsreplace)r   Zfields_Zfieldr   r   r   
get_fields!   s
    
zYouTrackClient.get_fieldsc              	   C   s8   t |d$}| jj|dD ]}|| qW 5 Q R X d S )Nzwb+)path)openr	   streamwrite)r   Z
attachmentZ	directoryfchunkr   r   r   download(   s    zYouTrackClient.downloadc                 C   s   | j   d S r   )r	   close)r   r   r   r   r"   -   s    zYouTrackClient.closeN)
__name__
__module____qualname__r   r   r   r
   r   r!   r"   r   r   r   r   r      s   N) r   r   r   __all__r   r   r   r   r   <module>   s   