
    :<hW                     d    S SK r S SK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K	J
r
   " S S5      rg)    N)Caler)Alfit)Fitlic                   :    \ rS rSrS rS rS	S jrS
S jrS rSr	g)Ranfi   c                    Xl         [        U R                   5      U l        [        U R                   5      U l        SU l        U R
                  S-   U l        S U l        S U l        0 U l	        SU l
        SU l        U R                  5         g )Nz.ranfi.jsonz.gzr   )er   alfitr   caler	ext_no_gzext	last_fufilast_sigf
count_keyscount_timesimport_from_fitli)selferimps     !/home/ernad/ernad/python/ranfi.py__init__Ranfi.__init__   so    466]
466]
&>>E)     c                 z   [        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        U R                  R                  U l        g)z,fitli has common routines of dofre and ranfiranfi)kindN)	r   r
   fitlifufiget	list_sigssigs_availablesigis_up_to_date)r   s    r   r   Ranfi.import_from_fitli%   sv    4660
JJOO	::>>--"jj77::>>!ZZ55r   Nc                 (  ^  T R                   nUc!  T R                  5       (       a  [        S5        gT R                   R                  nT R                  R                  SS9nSnU Hx  n[        R                  " U5      nT R                  R                  U5      (       d  [        SU S35        MJ  [        S	U-   5        T R                  XqS
9  US-  nUc  Mq  Xb:  d  Mx    O   [        T R                  U 4S jSS9n	T ?[        R                  " 5         T R                   R                  S   n[         R"                  " T R$                  5      n
[         R"                  " T R&                  5      nT R(                  nU SU
 SU U 3nUR*                  S   S-   U-   n[        SU 35        [-        US5      nSnUR/                  S5        UT R$                  S-
  :  aK  [0        R2                  " U	U   5      nUR/                  SU SU S35        US-  nUT R$                  S-
  :  a  MK  U	U   nUR/                  SU-   S-   [5        U5      -   S-   5        UR7                  5         [        SU 35        SU-   n[8        R:                  " USS9  [        SU 35        g)z#-> makes update for all krikt filesNzThe ranfi is up to date.Frandom)orderr   zranfi skips z out of didspizranfi loads )
do_verbose   c                 J   > [        TR                  U    5      [        U 5      4$ N)intr   str)xr   s    r   <lambda>Ranfi.update.<locals>.<lambda>E   s    Cq	NCF3Kr   T)keyreverse_r   /zranfi's output is w{
z: ,z
"z": z
}zranfi's wrote z/bin/gzip -f )shellzranfi zipped )r
   r$   printmax_issuedater   	out_fufisfilerget_issuedater   is_it_in_trainupdate_for_fufisortedr   gccollect
issuedatestinnusmaker   r   r   dirsopenwritejsondumpsr.   close
subprocessrun)r   r)   	max_filesr
   	issuedatealfit_fufiscount_files
alfit_fufidatesorted_fitsr   r   r   finaout_fufiout_file	count_fitfit_keylast_fitcommands   `                   r   updateRanfi.update/   sf   FF!3!3!5!5,-FF((	jj***:%J&&z2D::,,Y77TF.9:.:-.   C1K$)A & TVV)K%)+ F


FF%%a(	[[1
kk$"2"23nnAj\;-u=66'?S(4/"8*-.#&	s$//!++jjY!78GNNRy9+Q78NI $//!++ y)zH,u4s9~EMNxj)* "H,wd+hZ()r   c                     [         R                  " U5      U l        U R                   H  nU R                  U5        M     g r,   )r>   loadd
feed_papid)r   rT   r)   papids       r   rA   Ranfi.update_for_fufic   s,    J'VVEOOE" r   c                 N   U R                   nX!    H  n[        U5      S:X  a  [        SU-   5        M"  X0R                  ;  a*  U =R                  S-  sl        X!   U   U R                  U'   OU R                  U==   X!   U   -  ss'   U =R
                  X!   U   -  sl        M     g )Nr   zempty fit in r*   )rb   lenr;   r   r   r   )r   rd   rb   fits       r   rc   Ranfi.feed_papidi   s    FF8C3x1}o-.&& 1$hsmssqx},- r   )r   r   r   r   rb   r
   r   r   r   r   r   r    r$   r   r   r!   r#   r"   )FN)F)
__name__
__module____qualname____firstlineno__r   r   r^   rA   rc   __static_attributes__ r   r   r   r      s    62*h#.r   r   )rC   rN   rK   r>   rF   r   r   r   r   r   r   r   ro   r   r   <module>rp      s-   
 
       _. _.r   