
    T<h                     X    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5      r	g)    N)Alfit)Fitlic                   :    \ rS rSrS rS rS	S jrS
S jrS rSr	g)Dofre   c                     X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.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__Dofre.__init__   s`    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dofre)kindN)	r   r
   fitlifufiget	list_sigssigs_availablesigis_up_to_date)r   s    r   r   Dofre.import_from_fitli   sv    4660
JJOO	::>>--"jj77::>>!ZZ55r   Nc                 r   U R                   nUc!  U R                  5       (       a  [        S5        gU R                   R                  nU R                  R                  SS9nSnSU l        SU l        SU l        U H1  n[        SU-   5        U R                  XqS9  US	-  nUc  M*  Xb:  d  M1    O   [        R                  " U R                  5      n[        R                  " U R                  5      n	U R                  n
U S
U S
U	 U
 3nUR                  S   S-   U-   n[        US5      nUR                  S5        SnU R                    H  n["        R$                  " U5      n['        [(        R*                  " U R                  U R                   U   -  5      5      nUS	-  nXR                  :  d  Mh  UR                  SU SU S35        M     UR                  SW SW 3S-   5        UR-                  5         SU-   n[.        R0                  " USS9  US-   n[        SU-   5        [2        R4                  " US5        g)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_fufir5   r   r   finaout_fufiout_file	count_fitfitfit_keyvaluecommands                      r   updateDofre.update&   s   FF!3!3!5!5,-FF((	jj***:%J.:-.   C1K$)A & [[1
kk$"2"23nnAj\;-u=66'?S(4/#&s	66CjjoG466#;!>?@ENI??*G9BugQ78  	G9Bug.67!H,wd+e#nx'(  +;<r   c                     [         R                  " U5      U l        U R                   H  nU R                  U5        M     g )N)rD   loadd
feed_papid)r   rJ   r(   papids       r   r6   Dofre.update_for_fufiP   s,    J'VVEOOE" r   c                    U =R                   S-  sl         U R                  U    Hc  nX R                  ;  a%  SU R                  U'   U =R                  S-  sl        OU R                  U==   S-  ss'   U =R                  S-  sl        Me     g )Nr)   )r4   rW   r   r5   r   )r   rY   rO   s      r   rX   Dofre.feed_papidV   sl    166%=C && s1$sq ! !r   )r   r4   r5   r   r   rW   r
   r   r   r   r   r   r   r#   r   r   r    r"   r!   )FN)F)
__name__
__module____qualname____firstlineno__r   r   rS   r6   rX   __static_attributes__ r   r   r   r      s    6(=T#"r   r   )
r<   r?   rB   rD   r7   r   r   r   r   r   rb   r   r   <module>rc      s&          U" U"r   