
    tKgU                     P    d dl Z d dlZd dlZd dlZd dlmZ d dlmZ  G d d      Zy)    N)Alfit)Fitlic                   .    e Zd Zd Zd ZddZddZd Zy)	Ranfic                     || _         t        | j                         | _        d| _        | j                  dz   | _        d | _        d | _        i | _        d| _        d| _	        | j                          y )Nz.ranfi.jsonz.gzr   )er   alfit	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__zRanfi.__init__   sb    466]
&>>E)     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ranfiN)	r   r   fitlifufiget	list_sigssigs_availablesigis_up_to_date)r   s    r   r   zRanfi.import_from_fitli"   sv    4667+
JJOO	::>>--"jj77::>>!ZZ55r   Nc                      j                   }| j                         rt        d       y j                   j                  } j                  j                  d      }d}|D ]2  }t        d|z           j                  ||       |d	z  }|,||k\  s2 n t         j                   fd
d      } `t        j                   j                        }	t        j                   j                        }
 j                  }| d|	 d|
 | }|j                  d   dz   |z   }t        |d      }d	}|j!                  d       | j                  d	z
  k  rHt#        j$                  ||         }|j!                  d| d| d       |d	z  }| j                  d	z
  k  rH||   }|j!                  d|z   dz   t'        |      z   dz          |j)                          d|z   }t+        j,                  |d       y)z#-> makes update for all krikt filesNzThe ranfi is up to date.Frandom)orderr   zranfi loads )
do_verbose   c                 J    t        j                  |          t        |       fS N)intr   str)xr   s    r   <lambda>zRanfi.update.<locals>.<lambda>=   s    Cq	NCF3Kr   T)keyreverse_r   /w{
z: ,z
"z": z
}z/bin/gzip -f )shell)r   r   printmax_issuedater	   	out_fufisupdate_for_fufisortedr   tinnusmaker   r   r
   dirsopenwritejsondumpsr(   close
subprocessrun)r   r#   	max_filesr   	issuedatealfit_fufiscount_files
alfit_fufisorted_fitsr   r   r   finaout_fufiout_file	count_fitfit_keylast_fitcommands   `                  r   updatezRanfi.update,   s   FF!3!3!5,-FF((	jj***:%J.:-.  
 C1K$	)A & TVV)K%)+ F[[1
kk$"2"23nnAj\;-u=66'?S(4/#&	s$//!++jjY!78GNNRy9+Q78NI $//!++ y)zH,u4s9~EMN "H,wd+r   c                 |    t        j                  |      | _        | j                  D ]  }| j                  |        y r&   )filerloadd
feed_papid)r   rG   r#   papids       r   r7   zRanfi.update_for_fufiV   s,    J'VVEOOE" r   c                 L   | j                   }||   D ]  }t        |      dk(  rt        d|z           || j                  vr+| xj                  dz  c_        ||   |   | j                  |<   n| j                  |xx   ||   |   z  cc<   | xj
                  ||   |   z  c_         y )Nr   zempty fit in r$   )rT   lenr4   r   r   r   )r   rV   rT   fits       r   rU   zRanfi.feed_papid\   s    FFU8C3x1}o-.$&& 1$hsmssqx},%- r   )FN)F)__name__
__module____qualname__r   r   rP   r7   rU    r   r   r   r      s    6(,T#.r   r   )	rA   r>   rR   r9   r	   r   r   r   r   r]   r   r   <module>r^      s'   
      T. T.r   