
    Rhi                     L    S r SSKrSSKrSSKrSSKJr  SSKJr   " S S5      rg)zmakes feature length counts    N)Vemli)Fitlic                   J    \ rS rSrSS jrS rS rSS jrS rS r	SS	 jr
S
rg)Velop   Nc                     Xl         [        U5      U l        [        U5      U l        U R                   R
                  U l        X0l        SU l        U R                  S-   U l        Ub  UnOU R                  R                  5       nX@l
        0 U l        SU l        SU l        U R                  5         UR                  S   U l        Uc  S U l        S U l        O4U R                   S-   U-   S-   U l        U R                   S-   U-   S-   U l        0 U l        g )Nz.velop.jsonz.gzr   fitli/z.lensu.json.gzz.entsi.json.gz)er   vemlir   r	   
do_verbosedo_sigfi	ext_no_gzextget_last_sigsigfilengthscount_papidscount_lengthsimport_from_fitlidirsfolder
entsi_fufi
lensu_fufiraw)selferimpr   r   r   s        !/home/ernad/ernad/python/velop.py__init__Velop.__init__   s    5\
5\
&&++ &>>E)
 E JJ++-E
 jj) ="DO"DO"kkC/%7:JJDO"kkC/%7:JJDO    c                 D   [        U R                  SS9U l        U R                  R                  U l        U R                  R                  U l        U R                  R
                  U l        U R                  R                  U l        U R                  R                  U l        g)z,fitli has common routines of dofre and ranfivelop)kindN)r   r   r	   fufiget	list_sigssigs_availablesig)r   s    r   r   Velop.import_from_fitli6   sd    4660
JJOO	::>>--"jj77::>>r!   c           	         [        U R                  5      S:X  a  U R                  5       U l        Sn0 nU R                   H  nXR                  U   -  nXU'   M     0 U l        0 U l        U R                   H6  nU R                  U   U-  U R                  U'   X#   U-  U R                  U'   M8     U R
                  (       aA  U R                   H0  n[        U SU R                  U    SU R                  U    35        M2     gg)z-> used by the grondr    N)lenr   r&   relatcumulr   print)r   totalcumulslengths       r   serveVelop.serve@   s    txx=AxxzDHhhFXXf%%E"6N  

hhF!%&!1E!9DJJv!'%!7DJJv  ??(($**V"4!5Qtzz&7I6JKL # r!   c                     U R                   R                  US9nSnU R                  n[        R                  " Xd5      (       d1  U R
                  (       a  [        SU S35        U R                  5         gU H  n[        R                  " U5      nU R
                  (       a  [        SU-   S-   SS	S
9  [        R                  " U5      n	U R
                  (       a
  [        SSS9  U	 H  n
X   nU R                  X5        M     US-  nUb  XR:  a    O#U R
                  (       a  [        SU 35        M     0 n[        U R                  R                  5       5      nU H  nU R                  U   X'   M     [        R                  " X5        [        SU-   5        Uc  [        R                  " US5        U R                  U5      nU$ )z#-> makes update for all vemli files)r   r   velop: z needs no renewalFzvelop loads u    … T )flushenddone)r9      zvelop: I work on zvelop wrote *.lensu.json.gz)r   	out_fufisr   filerdonerer   r0   	run_entsiget_issuedateload
feed_papidsortedr   keysdumpclear_by_extension)r   r   	max_filesr   vemli_fufiscount_filesout_fufi
vemli_fufi	issuedatepapids_vemlispapidr   outnumbersr3   s                  r   updateVelop.updateR   s   < jj**H*= ??||H22z):;<NN%J++J7I nz1G; b*!JJz2MfD)&%,- ' 1K$)A))56' &, **,-F,,v.CK 

3!nx'($$X/@AnnS!
r!   c                     U =R                   S-  sl         [        UR                  5       5      S-
  nU =R                  U-  sl        X0R                  ;  a  SU R                  U'   g U R                  U==   S-  ss'   g )Nr<      )r   r-   splitr   r   )r   rP   r   r3   s       r   rD   Velop.feed_papid   sh    QU[[]#a'f$%#$DLL V!r!   c                     SnU R                   R                  R                  U R                   R                  S   U5      nUc  [	        SU 35        g[
        R                  " U5      nU$ )z7loads last lensu.json.gz file fit_count --> paper_countr=   r	   Nzvelop has not file )r   foldalast_by_mtimer   r0   r?   rC   )r   r   r%   datas       r   rC   
Velop.load   sY    vv||))$&&++g*>D<'u-.zz$r!   c                    [         R                  " U R                  U R                  /5      (       d?  U R                  (       a-  SU R                   S3nUSU R                   3-  n[        U5        gSnUc   [         R                  " U R                  5      nU H
  nX1U   -  nM     0 nS nUR                  5        H)  n[        X   5      U-  nUc  XuU'   UnM  XV   U-   XT'   UnM+     SnU H`  n[        XT   5      n	U	S::  a  SXT'   M  U	S:  a  SXT'   M(  SU	-  [        R                  " U	5      -  [        U5      -  XT'   XT   U:  d  M\  XT   nMb     Un
U H  nXT   S:X  a  M  XT   U
:  d  M  XT   n
M     U H  nXT   S:X  d  M  XU'   M     [         R                  " U R                  U5        U R                  c!  [         R                  " U R                  S5        U$ )	Nr7   z	 needs noz update over Fr   r<   z*.entsi.json.gz)r?   r@   r   r   r   r0   rC   rF   intfloatmathlog2rG   r   rH   )r   lensumr1   countentsipreviousfreqmaxir/   minis              r   rA   Velop.run_entsi   s   ||DOOdoo->??doo.i8}T__$566a=JJt/EE5\!E ZZ\Eu|$u,D#e  ?T1ELH " E%,'Ez z ;5)99E%LHEL|d"|  E|q |d"|	 
 E|q #e  	

4??E*== $$T__6GHr!   )r   r   r/   r   r   r   r   r   r   r	   r   r%   r&   r   r   r'   r   r.   r)   r   r(   r   )FN)FNN)N)__name__
__module____qualname____firstlineno__r   r   r4   rS   rD   rC   rA   __static_attributes__ r!   r   r   r      s(    $L"M$2j	"6r!   r   )	__doc__r?   rb   r   r   r   r	   r   r   rr   r!   r   <module>rt      s%    !     
D Dr!   