
    cU                     X    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dS )    N)Alfit)Fitlic                   0    e Zd Zd Zd ZddZd	dZd ZdS )
Ranfic                     || _         t          | j                   | _        d| _        | j        dz   | _        d | _        d | _        i | _        d| _        d| _	        | 
                                 d S )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__   sh    46]]
&>E)   t    c                    t          | j        d          | _        | j        j        | _        | j        j        | _        | j        j        | _        | j        j        | _        | j        j        | _        | j        j        | _        dS )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"   sb    467++
JO	:>-"j7:>!Z5r   FNc                      j         }|%                                 rt          d           dS  j         j        } j                            d          }d}|D ]:}t          d|z                                   ||           |d	z  }|||k    r n;t           j         fd
d          } `t          j
         j                  }	t          j
         j                  }
 j        }| d|	 d|
 | }|j        d         dz   |z   }t          |d          }d	}|                    d           | j        d	z
  k     rIt#          j        ||                   }|                    d| d| d           |d	z  }| j        d	z
  k     I||         }|                    d|z   dz   t'          |          z   dz              |                                 d|z   }t+          j        |d           dS )z#-> makes update for all krikt filesNzThe ranfi is up to date.Frandom)orderr   zranfi loads )
do_verbose   c                 V    t          j        |                    t          |           fS N)intr   str)xr   s    r   <lambda>zRanfi.update.<locals>.<lambda>=   s    Cq	NNCFF3K r   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,   sD   F!3!3!5!5,---5F(	j***::% 	 	J.:-...  
 CCC1K$	)A)A TV)K)K)K)K%)+ + + F[11
k$"233n==j==;===6'?S(4/#&&	s$/!+++jY!788GNN7779777888NI $/!+++ y)zH,u4s9~~EMNNN "H,wd++++++r   c                 v    t          j        |          | _        | j        D ]}|                     |           d S r&   )filerloadd
feed_papid)r   rG   r#   papids       r   r7   zRanfi.update_for_fufiV   sC    J''V 	# 	#EOOE""""	# 	#r   c                 P   | 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_        d S )Nr   zempty fit in r$   )rT   lenr4   r   r   r   )r   rV   rT   fits       r   rU   zRanfi.feed_papid\   s    FU8 		. 		.C3xx1}}o-...$&  1$hsmssqx},%-		. 		.r   )FN)F)__name__
__module____qualname__r   r   rP   r7   rU    r   r   r   r      sj          6 6 6(, (, (, (,T# # # #. . . . .r   r   )	rA   r>   rR   r9   r	   r   r   r   r   r]   r   r   <module>r^      s   
                   T. T. T. T. T. T. T. T. T. T.r   