
    *0=c                     T    d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ  G d d      Zy)    N)Alfit)Fitli)Folderc                   :    e Zd Zd Zd Zd Zd	dZd
dZd Zd Z	y)Lensuc                 >   || _         t        | j                         | _        | j                   j                  | _        d| _        | j                  dz   | _        t        | j                         | _        i | _        d| _	        d| _
        | j                          i | _        y )Nz.lensu.jsonz.gzr   )er   alfit
do_verbose	ext_no_gzextr   folderlengthscount_papidscount_lengthsimport_from_fitliraw)selferimps     !/home/ernad/ernad/python/lensu.py__init__zLensu.__init__   s|    466]
&&++&>>E)TVVn     c                 ~   t        | j                  d      | _        | j                  j                  | _        | j                  j                  | _        | j                  j
                  | _        | j                  j                  | _        | j                  j                  | _        | j                  j                  | _        y)z,fitli has common routines of dofre and ranfilensuN)	r   r	   fitlifufiget	list_sigssigs_availablesigis_up_to_date)r   s    r   r   zLensu.import_from_fitli   sv    4667+
JJOO	::>>--"jj77::>>!ZZ55r   c           	         t        | j                        dk(  r| j                         | _        d}i }| j                  D ]  }|| j                  |   z  }|||<    i | _        i | _        | j                  D ]6  }| j                  |   |z  | j                  |<   ||   |z  | j                  |<   8 | j
                  r?| j                  D ]/  }t        | d| j                  |    d| j                  |           1 yy)z-> used by the grundr    N)lenr   r   relatcumulr   print)r   totalcumulslengths       r   servezLensu.serve'   s    txx=AxxzDHhh 	#FTXXf%%E"F6N	# 

hh 	8F!%&!1E!9DJJv!'%!7DJJv	8 ??(( M$**V"4!5Qtzz&7I6JKLM r   Nc                    | j                   }|| j                         rt        d       y| j                   j                  }| j                  j                  d      }d}|D ]  }| j                  rt        d|z   dz   d	d
       t        j                  |      | _	        | j                  rt        dd	       | j                  D ]  }| j                  |        |dz  }|||k\  s n t        j                  | j                        }	t        j                  | j                        }
i }t        | j                   j#                               }|D ]  }| j                   |   ||<    | j$                  }| d|	 d|
 | }|j&                  d   dz   |z   }t        j(                  ||       t        d|z          t        j*                  ||       y)z#-> makes update for all alfit filesNzThe lensu is up to date.Frandom)orderr   zlensu loads z ... T )flushenddone)r0      _r   /zlensu wrote )r	   r!   r'   max_issuedater
   	out_fufisr   filerloadd
feed_papidtinnusmaker   r   sortedr   keysr   dirsdumpclear_by_extension)r   r   	max_filesr	   	issuedatealfit_fufiscount_files
alfit_fufipapidr   r   outnumbersr*   r   finaout_fufis                    r   updatezLensu.update9   s   FF!3!3!5,-FF((	jj***:% 	Jnz1G; b*ZZ
+DFfD) '&'1K$	)A	 {{4#4#45D$6$67**,- 	/F,,v.CK	/hhAl^1]OC5A66'?S(4/

3!nx'(  3/r   c                 |    t        j                  |      | _        | j                  D ]  }| j                  |        y )N)r8   r9   r:   r;   )r   rG   r   rH   s       r   update_for_fufizLensu.update_for_fufi[   s1    J'VV 	#EOOE"	#r   c                     | xj                   dz  c_         t        | j                  |         }| xj                  |z  c_        || j                  vrd| j                  |<   y | j                  |xx   dz  cc<   y )Nr3   )r   r$   r:   r   r   )r   rH   r*   s      r   r;   zLensu.feed_papida   sg    QTVVE]#f$%#$DLL V!r   c                     | j                   }d| }| j                  j                  | j                  j                  d   |      }|t        d|        y t        j                  |      }|S )N*r   zlensu has not file )r   r   last_by_mtimer	   r@   r'   r8   r9   )r   r   globr   datas        r   r9   z
Lensu.loadj   sd    hh3%y{{((W)=tD<'u-.zz$r   )FN)F)
__name__
__module____qualname__r   r   r+   rM   rO   r;   r9    r   r   r   r   
   s'    "6M$ 0D#"r   r   )	r8   r   r<   r
   r   r   r   r   r   rY   r   r   <module>rZ      s#         h hr   