
    wf
                     D    d dl Z d dlZd dlZd dlZd dlmZ  G d d      Zy)    N)Kriktc                   @    e Zd Zd	dZd	dZd Z	 	 d
dZd Zd Zd Z	y)Inkric                    || _         t        | j                         | _        d| _        | j                  dz   | _        i | _        || _        t        |d      r|j                  | _        | j                   j                  d   | _	        y )Nz.inkri.jsonz.gz
do_verbosefitli)
er   krikt	ext_no_gzextir   hasattrdirsfolder)selferimpr   s      !/home/ernad/ernad/python/inkri.py__init__zInkri.__init__   sk    466]
&>>E)$5,'#..DOffkk'*    c                    | j                   j                         }d}|D ]?  }t        j                  j	                  |      }|dd }||kD  r|}| j                  ||       A | j                  dz   |z   | j                  z   }t        d|z          t        j                  || j                         | j                  |       y)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_fufis           r   
update_allzInkri.update_all   s    jj**,D77##D)DQr
I=( )  y1   ;;$}4HHo()

8TVV$x(r   c                 @    i }|D ]  }| j                  |      ||<    |S )(prime function for consumers of the data)
lookup_one)r   papidsoutpapids       r   lookupzInkri.lookup*   s(    E/CJ 
r   c                     t        | j                        dk(  r| j                          || j                  vr!|st        d|z   t        j
                         y| j                  |   }|rt        d|z   dz   |z          |S )r+   r   zinkri does not see )fileNzinkri finds z at )lenr   loadr   sysstderr)r   r/   r   do_suppress_errorr'   s        r   r,   zInkri.lookup_one1   sp     tvv;!IIK$+e3#**EFF5M	.5(61I=>r   c                     | j                   rt        d| ddd       t        j                  |      }| j                   rt        dd       |D ]  }|| j                  |<    y )Ninkri loads  ... r   Tendflushdoner=   )r   r   r    r4   r   )r   r%   r'   dr/   s        r   r   zInkri.update_for_fufi?   sT    ??Le,"DAJJt??&%E%DFF5M r   c                     | j                   dz   | j                  z   }t        j                  |      D ]+  }||k(  r	t        d|z          t	        j
                  |       - y )Nz/*zinkri removes )r   r   globr   r   remove)r   r(   glob_stringr%   s       r   r"   zInkri.remove_other_thanH   sP    kkD(4883IIk*Dx"T)*IIdO	 +r   c                 <   d| j                   z   }| j                  j                  j                  | j                  |      }| j
                  rt        d| ddd       t        j                  |      | _	        | j
                  rt        dd	       | j                  S )
N*)searchr9   r:   r   Tr;   r>   r?   )
r   r	   r@   last_by_mtimer   r   r   r    r4   r   )r   rG   	last_fufis      r   r4   z
Inkri.loadP   sv    txxFFHH**4;;v*F	??L51rFI&??&%vvr   N)F)FF)
__name__
__module____qualname__r   r)   r0   r,   r   r"   r4    r   r   r   r      s-    
)" ,1%*&r   r   )rB   r   r5   r    r
   r   r   rM   r   r   <module>rN      s      	 
  M Mr   