a
    8a<
                     @   s>   d dl Z d dlZd dlZd dlZd dlmZ G dd dZdS )    N)Kriktc                   @   sH   e Zd Zdd ZdddZdd Zddd	Zd
d Zdd Zdd Z	dS )Inkric                 C   sN   || _ t| j | _d| _| jd | _i | _t|dr<|j| _| j jd | _	d S )Nz.inkri.jsonz.gz
do_verbosefitli)
er   krikt	ext_no_gzextihasattrr   dirsfolder)selferimp r   !/home/ernad/ernad/python/inkri.py__init__   s    
zInkri.__init__Fc                 C   s   | j  }d}|D ]4}tj|}|dd }||kr:|}| || q| jd | | j }td|  t	
|| j | | dS )z#-> makes update for all krikt files r   
   /zinkri writes N)r   	out_fufisospathbasenameupdate_for_fufir   r	   printfilerdumpr
   remove_other_than)r   r   krikt_fufismax_issuedatefufibana	issuedateout_fufir   r   r   
update_all   s    
zInkri.update_allc                 C   s    i }|D ]}|  |||< q|S )(prime function for consumers of the data)
lookup_one)r   papidsoutpapidr   r   r   lookup)   s    zInkri.lookupc                 C   s\   t | jdkr|   || jvr6td| tjd dS | j| }|rXtd| d |  |S )r&   r   zinkri does not see )fileNzinkri finds z at )lenr
   loadr   sysstderr)r   r*   r   r#   r   r   r   r'   0   s    

zInkri.lookup_onec                 C   sP   | j rtd| dddd t|}| j r8tddd |D ]}|| j|< q<d S )Ninkri loads  ... r   Tendflushdoner5   )r   r   r   r.   r
   )r   r!   r#   dr*   r   r   r   r   <   s    
zInkri.update_for_fufic                 C   sD   | j d | j }t|D ]$}||kr(qtd|  t| qd S )Nz/*zinkri removes )r   r	   globr   r   remove)r   r$   glob_stringr!   r   r   r   r   E   s    zInkri.remove_other_thanc                 C   s^   d| j  }| jjj| j|d}| jr:td| dddd t|| _	| jrXtddd	 | j	S )
N*)searchr1   r2   r   Tr3   r6   r7   )
r	   r   r8   last_by_mtimer   r   r   r   r.   r
   )r   r=   	last_fufir   r   r   r.   M   s    
z
Inkri.loadN)F)F)
__name__
__module____qualname__r   r%   r+   r'   r   r   r.   r   r   r   r   r      s   

	r   )r9   r   r/   r   r   r   r   r   r   r   r   <module>   s
   