
    Xc                     `    d dl Z 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 )
Dofrec                     || _         t          | j                   | _        d| _        | j        dz   | _        d | _        d | _        i | _        d| _        d| _	        | 
                                 d S )Nz.dofre.json.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/dofre.py__init__zDofre.__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dofreN)	r   r	   fitlifufiget	list_sigssigs_availablesigis_up_to_date)r   s    r   r   zDofre.import_from_fitli   sb    467++
JO	:>-"j7:>!Z5r   FNc                 D   | j         }|%|                                 rt          d           dS | j         j        }| j                            d          }d}d| _        d| _        d| _        |D ]:}t          d|z              | 	                    ||           |d	z  }|||k    r n;t          j        | j                  }t          j        | j                  }	| j        }
| d
| d
|	 |
 }|j        d         dz   |z   }t          |d          }|                    d           d}| j        D ]v}t#          j        |          }t'          t)          j        | j        | j        |         z                      }|d	z  }|| j        k     r|                    d| d| d           w|                    d| d| dz              |                                 d|z   }t/          j        |d           |dz   }t          d|z              t3          j        |d           dS )z#-> makes update for all alfit filesNzThe dofre is up to date.Frandom)orderr   zdofre loads )
do_verbose   _r   /w{
z: ,z
}z/bin/gzip -f T)shellr   zdofre wrote z.dofre.json.gz)r	   r    printmax_issuedater
   	out_fufis
count_docs
count_fitsr   update_for_fufitinnusmaker   dirsopenwriter   jsondumpsstrmathlogclose
subprocessrunfilerclear_by_extension)r   r$   	max_filesr	   	issuedatealfit_fufiscount_files
alfit_fufir1   r   r   finaout_fufiout_file	count_fitfitfit_keyvaluecommands                      r   updatezDofre.update&   s^   F!3!3!5!5,---5F(	j***::% 	 	J.:-...  
 CCC1K$	)A)A[11
k$"233n==j==;===6'?S(4/#&&s	6 	9 	9CjooG46#;!>??@@ENI4?**7G77u777888.G..u..6777!H,wd++++e#nx'((( +;<<<<<r   c                 v    t          j        |          | _        | j        D ]}|                     |           d S )N)r@   loadd
feed_papid)r   rF   r$   papids       r   r2   zDofre.update_for_fufiP   sC    J''V 	# 	#EOOE""""	# 	#r   c                     | xj         dz  c_         | j        |         D ]K}|| j        vrd| j        |<   | xj        dz  c_        n| j        |xx         dz  cc<   | xj        dz  c_        Ld S )Nr%   )r0   rR   r   r1   r   )r   rT   rK   s      r   rS   zDofre.feed_papidV   s    16%= 		" 		"C $&  s1$sq !		" 		"r   )FN)F)__name__
__module____qualname__r   r   rO   r2   rS    r   r   r   r      sj          6 6 6(= (= (= (=T# # # #" " " " "r   r   )
r8   r;   r>   r@   r3   r
   r   r   r   r   rY   r   r   <module>rZ      s                       U" U" U" U" U" U" U" U" U" U"r   