
    ?h                     D    S SK r S SKrS SKrS SKrS SKJr   " S S5      rg)    N)Clarfc                   `    \ rS rSrSrSS jrSS jrS rS rS r	S	 r
S
 rSS jrS rS rSrg)Ralil   zsystem that relays reportsc                    Xl         U R                   R                  S   U l        U R                   R                  S   U l        [	        U R                   5      U l        SU l        0 U l        0 U l        S U l	        S U l
        X l        g )Nclarfralilr   )edirs
clarf_fudi
ralil_fudir   r   
count_donesumsdatalast_looked_upresults
do_verbose)selferimpr   s      !/home/ernad/ernad/python/ralil.py__init__Ralil.__init__   sj    &&++g.&&++g.466]
		"$    Nc                     U R                   R                  5       nSnU H,  nU R                  U5      nU(       a  US-  nUc  M%  XA:  d  M,    g   g)Nr      T)r   
list_fufiswork_on_fufi)r   do_max	do_donorein_fufisr   in_fufiis_dones          r   updateRalil.update   sR    ::((*
G''0Ga
!j&:   r   c                    UR                  U R                  U R                  5      n[        R                  " X!/5      (       d  gU R
                  (       a  [        SU S3SSS9  [        R                  " U5      nU R                  U5      n[        R                  " XB5        U R
                  (       a  [        SU 3SS9  g)	NFzralil studies z ... T)endflushz
 it wrote )r(   )
replacer   r   filerdonerer   printload	get_corrsdump)r   r!   out_fufi
clarf_datacorrss        r   r   Ralil.work_on_fufi(   s    ??4??#'??4||Hi00??N7)40bEZZ(
z*

5#??Jxj)6r   c                 8   U R                   b  XR                  :w  a9  U R                  U5      U l         U R                   c  [        SU S35        g Xl        US   U R                   ;  a  g US   U R                   US      ;  a  g U R                   US      US      $ )Nz	data for z is Noner   r   )r   r   	load_datar,   )r   	issuedatepairs      r   lookupRalil.lookup7   s    99	-@-@ @y1DIyy 	)H56"+ 7$))#7$))DG,,yya!$q'**r   c                     U R                   S-   U-   S-   n[        R                  R                  U5      (       d  g [        R
                  " U5      U l        U R                  $ )N/.json.gz)r   ospathisfiler*   r-   r   )r   r6   fufis      r   r5   Ralil.load_dataG   sJ    $y0:=ww~~d##JJt$	yyr   c                    0 n0 n0 nU HQ  n/ X5'   X   n[        UR                  5       5      nU H  nX5   R                  Xh   5        M     [        X5   5      XE'   MS     U H  n	X;  a  0 X)'   U H  n
X:X  a  M
  X:  a  M  SnSX)   U
'   U[	        X9   5      :  aM  X)   U
==   [        SX9   U   -  XI   -  SX:   U   -  XJ   -  -
  5      -  ss'   US-  nU[	        X9   5      :  a  MM  X)   U
==   SX)   U
   -  -  ss'   M     M     U$ )Nr      r   )sortedkeysappendsumlenabs)r   r   outinpsr   repcode
papweightsdocidsdocidr1r2counts               r   get_cross_diffRalil.get_cross_diffN   s;   GDMJJOO-.F$$Z%67  .DM  B }87c$(m+GBK3qDHUO';dh'F)*dhuo)=)H(I $J JKQJE c$(m+ q372;.  " 
r   c                 `   0 n0 nU HB  n/ X4'   X   n[        UR                  5       5      nU H  nX4   R                  XW   5        M     MD     U H  n[        X8   5      n	X;  a  0 X('   U H  n
X:X  a  M
  X:  a  M  [        X:   5      nX:w  a7  SnX SU	 S3-  nX SU S3-  n[	        U[
        R                  S9  SX(   U
'   MZ  [        R                  " X8   X:   5      S   S   S-  nU R                  (       a   [	        US	-   U
-   S	-   [        U5      -   5        XU   U
'   M     M     X l        U$ )
zpearson correlationzralil: bad clarf data z has z, .)filer   r   d    )rD   rE   rF   rH   r,   sysstderrnpcorrcoefr   strr   )r   r   rJ   rK   rL   rM   rN   rO   rP   len_r1rQ   len_r2msgvalues                 r   r.   Ralil.get_corrsn   sN    GDMJJOO-.F $$Z%67  	  B]F}87TX#2CTvhb11CTvha00C#CJJ/"#CGBKDHdh7:1=C??"s(R-#-E
:;#B! 	 * 
r   c                     Uc  U R                  5       n[        U5      S   nU R                  S-   U-   S-   n[        R                  " U5      nU$ )Nr   r;   r<   )	get_dateslistr   r*   r-   )r   datedatesr@   r   s        r   r-   
Ralil.load   sK    <NN$E;q>D$t+j8zz$r   c                 h    U R                   nU R                  R                  R                  X5      nU$ N)r   r
   foldaby_dates)r   fudirh   s      r   re   Ralil.get_dates   s(    %%d1r   c                     U R                   c  g U R                   nU HO  nX:X  a  M
  X:  a!  [        US-   [        X!   U   5      -   5        M0  [        US-   [        X#   U   5      -   5        MQ     g )NrY   )r   r,   r^   )r   given_repcoder   repcocdes       r   report_on_repcodeRalil.report_on_repcode   sm    <<,,H('hns7+A(+K'LLMhns7+<]+K'LLM  r   )
r   r   r   r   r   r
   r   r   r   r   )F)NTrk   )__name__
__module____qualname____firstlineno____doc__r   r#   r   r8   r5   rS   r.   r-   re   rs   __static_attributes__ r   r   r   r      s:    $	+ @&P

Nr   r   )r=   rZ   r*   numpyr\   r   r   r   r{   r   r   <module>r}      s"    	 
   bN bNr   