
    hP                     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)Krikt)Tritoc                   d    \ rS rSrS rSS jrSS jrSS jrS rS r	S	 r
SS
 jrSS jrS rSrg)Nafra   c                     Xl         [        U R                   5      U l        0 U l        0 U l        0 U R                  S'   0 U R                  S'   / SQU l        [        U R                   5      U l        g )Npt),;/z--)er   tritofnsepsr   krikt)selferimps     !/home/ernad/ernad/python/nafra.py__init__Nafra.__init__   s[    466]
 ss)	 466]
    c                 ~    U R                   R                  S   S-   n[        R                  " U5      n[        USS9nU$ )z-> list of nafra filesnafraz
/*.json.gzT)reverse)r   dirsglobsorted)r   orderglob_string	out_fufiss       r   r"   Nafra.out_fufisF   s;    ffkk'*\9IIk*	 9d3	r   Nc                     U R                   R                  5       nSnU H9  n[        R                  " U5      nUb  Xb:w  a  M#  Xd:  a  UnU R	                  XQS9  M;     g)z#-> makes update for all krikt files N)
do_verbose)r   r"   filerget_issuedateupdate_for_krikt_fufi)r   r&   do_only_issuedatekrikt_fufismax_issuedatefufi	issuedates          r   
update_allNafra.update_allP   s`    jj**,D++D1I
 !,1( )&&t&C  r   c                 "   [         R                  " U5      nUc'  [        R                  R	                  U5      S-   nS n0 nOU R
                  R                  S   S-   U-   S-   nU R
                  R                  S   S-   U-   S-   n[        R                  R                  U5      (       d[  [        R                  R                  U R
                  R                  S   5      (       a  [        SU 3[        R                  S9  S n0 nO[         R                  " U5      n[         R                  " XAU/5      (       d  U(       a  [        SU S	U 35        g
U(       a  [        SU-   5        [         R                  " U5      n0 U l        U H+  nX;  d  SXh   ;  a  S Xh'   U R                  Xx   Xh   U5        M-     [!        U R                  5      S:X  a  [        SU-   [        R                  S9  g
[         R"                  " X@R                  5        0 U l        U$ )Nz/nafra.json.gzr   r   z.json.gzspakrznafra does not see )fileznafra doneres z over Fznafra loads Sr   znafras got nothing from )r'   r(   ospathdirnamer   r   isfileisdirprintsysstderrloaddonerer   
feed_papidlendump)	r   
krikt_fufir&   r.   out_fufi
spakr_fufi
spakr_data
krikt_datapapids	            r   r)   Nafra.update_for_krikt_fufia   s   ''
3	wwz25EEHJJ vv{{7+c1I=
JHW-3i?*LJ77>>*-- 77==W!566/
|<"zz+ "

"ZZ
3
||H:&>??xjzlCD.:-.ZZ
+
E&3j6G+G$(
!OOJ-z/@%H	  
 tvv;!,z9zz#

8VV$r   c                    U R                  U5        S H  nXA;  a  M
  U R                  XAU   U5        M!     Uc  gUS    HE  nUR                  5       nX`R                  U   S   ;   a  M*  US   U   U R                  U   S   U'   MG     g)N)r
   Tr	   PTr4   r
   )
reset_data	deal_withlowerr   )r   r   r2   rG   letterfitlc_fits          r   r?   Nafra.feed_papid   s    *F"NN6=%8 +
 =:CYY[Fs++ */sCDFF5M#v&  r   c                 j    0 U R                   U'   0 U R                   U   S'   0 U R                   U   S'   g )Nr	   r
   )r   )r   rG   s     r   rL   Nafra.reset_data   s3    uucucr   c                 x    U R                   nUR                  U:X  a  U R                  nU H  nU" XU5        M     g)z send to deal with upper or lowerN)deal_with_upperrN   deal_with_lower)r   rO   datarG   dovs         r   rM   Nafra.deal_with   s8    !!<<6!%%BAv%  r   c                    UR                  5       nSU;  a  gU R                  nSnSnU H  n	UR                  U	5      n
X:  d  M  U	nU
nM!     Uc+  U(       a  [        SU-   5        U R	                  XR/U5        U/$ UR                  U5      nU H7  nU R                  R                  U5      nSU;  a  M&  UR                  S5      nM9     U R	                  X[U5        U$ )z deals krkits that need splitting Nr   z
no sep in .)	rN   r   countr:   	add_partssplitr   process_fieldrstrip)r   arearZ   rG   r&   llr   	max_countmax_sepsep	count_seppartsparts                r   rV   Nafra.deal_with_upper   s    ZZ\a<yy	CI$%		 
 ?lQ&'NN2sE*3J D::++A.D $;;s#D  	r%(r   c                     U R                   R                  U5      nUR                  S5      nUR                  S5      nSU;  a  gU R                  X/U5        g)z*deals with the krikt that don't need splitr^   r]   N)r   rb   rc   r`   )r   rd   rZ   rG   r&   rk   s         r   rW   Nafra.deal_with_lower   sL    zz''*{{3{{3d?tVU+r   c                 6   Uc  g U H  nU R                   R                  U5      nUR                  5       nSU;  a  M6  UR                  5       nX@R                  U   U   ;  a  SU R                  U   U   U'   Mr  U R                  U   U   U==   S-  ss'   M     g )Nr]      )r   rb   striprN   r   )r   rd   rj   rG   rk   s        r   r`   Nafra.add_parts   s    =D::++D1D::<D$::<D66%=..,-ud#D)FF5M$%*% r   )r   r   r   r   r   r   )
new_to_old)FN)F)__name__
__module____qualname____firstlineno__r   r"   r/   r)   r?   rL   rM   rV   rW   r`   __static_attributes__ r   r   r   r      s7    RD"*X0 !<,+r   r   )
r   r5   r;   daterr'   r   r   r   r   r   ry   r   r   <module>r{      s,     	 
    M+ M+r   