
    8a<
                     L    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dS )    N)Kriktc                   <    e Zd Zd Zd
dZd Zd
dZd Zd Zd Z	d	S )Inkric                     || _         t          | j                   | _        d| _        | j        dz   | _        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erimps     !/home/ernad/ernad/python/inkri.py__init__zInkri.__init__   se    46]]
&>E)5,'' 	/#.DOfk'*t    Fc                    | j                                         }d}|D ]I}t          j                            |          }|dd         }||k    r|}|                     ||           J| j        dz   |z   | j        z   }t          d|z              t          j
        || 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_fufis           r   
update_allzInkri.update_all   s    j**,, 	2 	2D7##D))DQrT
I=(( )  y1111;$}4Ho()))
8TV$$$x(((((r   c                 D    i }|D ]}|                      |          ||<   |S )(prime function for consumers of the data)
lookup_one)r   papidsoutpapids       r   lookupzInkri.lookup)   s2     	0 	0E//CJJ
r   c                     t          | j                  dk    r|                                  || j        vr t          d|z   t          j                   dS | 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   r'   s       r   r,   zInkri.lookup_one0   s    tv;;!IIKKK'%/cjAAAA4F5M	 	?.5(61I=>>>r   c                     | j         rt          d| ddd           t          j        |          }| j         rt          dd           |D ]}|| j        |<   d S )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<   s    ? 	B,,,,"DAAAAJt? 	&&%%%% 	& 	&E%DF5MM	& 	&r   c                     | j         dz   | j        z   }t          j        |          D ]/}||k    r	t          d|z              t	          j        |           0d S )Nz/*zinkri removes )r   r   globr   r   remove)r   r(   glob_stringr%   s       r   r"   zInkri.remove_other_thanE   si    kD(483Ik** 	 	Dx"T)***IdOOOO		 	r   c                    d| j         z   }| j        j                            | j        |          }| j        rt          d| ddd           t          j        |          | _	        | j        rt          dd	           | j	        S )
N*)searchr8   r9   r   Tr:   r=   r>   )
r   r	   r?   last_by_mtimer   r   r   r    r4   r   )r   rF   	last_fufis      r   r4   z
Inkri.loadM   s    txFH**4;v*FF	? 	G1111rFFFFI&&? 	&&%%%%vr   N)F)
__name__
__module____qualname__r   r)   r0   r,   r   r"   r4    r   r   r   r      s        	 	 	) ) ) )"  
 
 
 
& & &      r   r   )rA   r   r5   r    r
   r   r   rL   r   r   <module>rM      sw     				 



       J J J J J J J J J Jr   