
    Ȓ,i                         S 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KJ	r	  SSK
Jr  SSKJr  SSKJr  SS	KJr  SS
KJr   " S S5      rg)united seeds and pills    N)Caler)Fitli)Ishus)Lopve)Resip)Sigsi)Sipil)Vemlic                   D    \ rS rSrS	S jrS
S jrSS jrS r SS jrSr	g)Usipi   c                    Xl         SU R                   R                  ;  a  gX l        0 U l        [	        U5      U l        [        U5      U l        [        U5      U l	        [        U5      U l        [        U5      U l        [        U5      U l        [!        U5      U l        [%        U5      U l        U R                  R)                  5       U l        SU l        0 U l        0 U l        0 U l        0 U l        0 U l        0 U l        0 U l        g)r   is_seedableNF)econf
do_verbosedatar   calerr   fitlir	   sigsir   ishusr   lopver   vemlir
   sipilr   resip	train_sig
last_sigfii_need_to_writetaken_papidsstatussamelseedspillsfufisreport)selferimpr   s      !/home/ernad/ernad/python/usipi.py__init__Usipi.__init__   s    +$ 	5\
5\
5\
5\
5\
5\
5\
5\
 **..0$



    c                    SnSU R                   R                  ;  a  [        S[        R                  S9  gU R
                  R                  U5      (       a  [        SU 3[        R                  S9  S0 0$ U R                  R                  U5      U R                  U'   U R                  U   S   n[        R                  R                  U5      (       d  [        S	U 35        S0 0$ XR                  ;  a  U R                  X5      U R                  U'   XR                  ;  a  U R!                  U5      U R                  U'   0 U R"                  U'   U R$                  R'                  XS
9nUc  [        S5        0 U R(                  U'   0 U R"                  U   S'   [        R                  R                  U R                  U   S   5      (       a  U R                  U   S   n[*        R,                  " U5      n0 U R(                  U'   0 U R"                  U   S'   U H  n	XR                  U   ;  a  [        SU	 S35        M&  U R                  U   U	   S   S:X  a  [        SU	 S3[        R                  S9  M]  X   U R"                  U   S   U	'   SU R(                  U   U	'   M     U R                  U    GH  n
U R                  U   U
    H  n	U R                  U   U	   S   S:w  a  [        SU	 S3[        R                  S9  M:  U R.                  R1                  XR2                  5      n[*        R,                  " U5      nX;  a(  SU	 S3nUSU
 3-  n[        U[        R                  S9  M  U R                  U   U	   S   nU(       a  US:X  a  M  X   SU
 SU 3-   nXR"                  U   S   U	'   M     GM     0 n0 US'   U R"                  U   S    H  n	U R"                  U   S   U	   US   U	'   M      U$ )z get sidpils, for a report in 'l'Fr   z3usipi: I should not have been called for this erimp)fileNz0usipi: I should not have been called for mature lseedczusip has no seed configaration 	cut_pillszusipi has no lopver   zusipi: local papid z is expiredizusipi: internal sipil z	 in lopve   zusipi: external sipil z	 in samelzusipi: z ought to be in the z
vemlis of r   p )r   r   printsysstderrr   is_report_maturer   	set_fufisr%   ospathisfiler!   
get_statusr"   	get_samelr&   r   build_reportr    filerloadr   out_fufir   )r'   repcoder2   no_pillsis_lovpe_rebuilt
seedc_fufiout
lopve_fufilopve_vemlispapid	issuedate
vemli_fufiissue_vemlismsgpflagr   sidpilss                    r)   get_sidpilsUsipi.get_sidpils<   s    +Gzz#::&&w//DWINzz#9"jj227;

7ZZ(1
ww~~j))3J<@A9++%#'??7#FDKK **$"&.."9DJJw!Gjj%%g%C;&'%''"$&GS!77>>$**W-g677G,W5J ::j1L)+Dg&(*DKK %%G 44/wkBC;;w'.r2c925'C"zz+3?3FG$S)%045!!'*51 & G,IG,Y7;;w'.r2c925'C"zz+!ZZ00OOL
$zz*5,#E7*>?CZ	{33C#CJJ/G,U3A6$+)AeW.EE38G$S)%0! 8 -& [[)#.E"&++g"6s";E"BGCL /r,   c                    U R                   R                  U5      n[        R                  R	                  US   5      (       d  g0 nUS   n[        R                  R	                  U5      (       d  U R
                  R                  U5        [        R                  " US   5      nUc  0 nU H:  nXg   nUc  SXG'   M  U R                  R                  U5      (       a  SXG'   M6  SXG'   M<     X`R                  U'   U R                  R                  X5      n	U	c  0 n	U	 H:  nX   nUc  SXG'   M  U R                  R                  U5      (       a  SXG'   M6  S	XG'   M<     XR                  U'   U$ )
z0the papids and their status with repect to lovper0   Nsidissxsisopxpipo)r   r<   r=   r>   r?   r   rB   rC   rD   r   is_it_in_trainr#   r   harvestr$   )
r'   rF   r2   r%   r!   
sidis_fufiseed_issuesrM   rN   pill_issuess
             r)   r@   Usipi.get_status   sH   

$$W-ww~~eGn--7^
ww~~j))JJ##G,jjw0K E#*I  $**955 $ !% ! *

7jj((<K E#*I  $**955 $ !% ! *

7r,   c                 6   0 nU R                   U    Hu  nU R                   U   U   S   S:w  a  M  U R                   U   U   S:X  a  U R                  U   U   nOU R                  U   U   nXB;  a  / X$'   X$   R                  U5        Mw     X R                  U'   U$ )Nr3   r4   rY   )r!   r#   r$   appendr"   )r'   rF   r"   rM   rN   s        r)   rA   Usipi.get_samel   s     [[)E{{7#E*2.#5{{7#E*d2 JJw/6	 JJw/6	%#% ##E* * $

7r,   c                    U(       a  U$ SU R                   R                  ;  a  U$ U R                  R                  U5      (       a  [	        SU 35        U$ U R                  X%S9nUc  U$ SnUS    HD  nX;   a  X8   n	[	        SU SU	 35        M  U R                  U   U   X8'   USUS   U   -   S	-   -  nMF     UR                  U5        U$ )
Nr   z usipi writes nothing for mature r1    r/   zusipi skips seen z of z+1 
)r   r   r   r;   r8   rT   r!   write)
r'   
train_filerF   papidsrG   r2   rS   vemstrM   r!   s
             r)   write_trainUsipi.write_train   s    M+M::&&w//4WI>?M""7"@?MS\E)%VH=> KK07FMUWS\%00477E " 	r,   )r   r   r   r   r   r%   r   r   r   r   r$   r&   r   r"   r#   r   r   r!   r    r   N)F)r   F)r   )Fr   )
__name__
__module____qualname____firstlineno__r*   rT   r@   rA   rn   __static_attributes__ r,   r)   r   r      s$    %NGR(T& /0r,   r   )__doc__r=   r9   rC   r   r   r   r   r   r   r   r   r   r   r   r	   r   r
   r   r   r   ru   r,   r)   <module>rw      s7     
 
         C Cr,   