
    Zd                     P    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y)    N)Rixer)Folderc                   (    e Zd ZddZd ZddZd Zy)Koselc                     || _         | j                   j                  d   | _        t        |d      r| j                   j                  | _        n|| _        t        |      | _        t        |      | _        y )Nkosel
do_verbose)	edirs
kosel_fudihasattrr	   r   folderr   rixer)selferimpr	   s      !/home/ernad/ernad/python/kosel.py__init__zKosel.__init__   sZ    &&++g.5,'"ff//DO(DOUm5\
     c                     t        | j                         | j                  dz   }t        t        j                  |      d      }i }|D ])  }t        j
                  j                  |      dd }|||<   + |S )zcopied from clarf
/*.json.gzT)reverseN
   )printr   sortedglobospathbasename)r   glob_string	out_fufisdatfisfufi	issuedates         r   
get_datfiszKosel.get_datfis   sq    dkkkkL0499[14@	 	%D((.s3I $F9	% r   Nc                 0   |!|t        d       t        j                          |/| j                  j                  D ]  }| j                  ||        y |/| j                  j                  D ]  }| j                  ||        y | j                  j                  |   j                  d   }| j                  j                  ||      }|st        d| d|        y| j                  j                  |      }i }| j                  j                  d   dz   |z   d	z   }t        j                  j                  |      rt        j                   |      }|D ]-  }| j"                  rt        d
|        ||vri ||<   d||   |<   / t        j$                  ||       y)Nzkosel can't handle this yet)r#   repcodeselectedzkosel: no selected file for z at Fr   /.json.gzzkosel sees    T)r   sysexitr
   
issuedatesupdatereportr   r   last_by_issuedater   docsr   r   isfilefilerloadr	   dump)	r   r#   r&   in_fudir"   	text_elesdataout_fufidocids	            r   r.   zKosel.update$   s   /0HHJ!VV.. B	iAB?66== BiAB&&--(--j9{{,,Wi@0	i[IJJJOOD)	66;;w'#-	9JF77>>(#::h'D 	%EE7+,D  U#$DK 	% 	

4"r   c                 B   ddl m}  || j                        }|j                         }| j                  j                  d   dz   }i }t        j
                  |      D ]?  }t        j                  j                  |      }|dd }||vr-| j                  dz   |z   dz   }	t        j                  |	      }
i }|
D ]J  }|
|   D ]@  }||vri ||<   |
|   D ]-  }||k  r	||k(  r|||   vrd||   |<   ||   |xx   d	z  cc<   / B L t        |      D ]'  }t        ||         D ]  }||   |   d	k7  s||   |=  ) t        |      D ]  }t        ||         dk(  s||=  g ||<   t        |      D ]+  }t        ||         D ]  }||   j                  ||g        - B |S )
z6list issuedates, and report pairs with one common itemr   )Ralilr   r   Nr   r(   r)   r*   )ralilr<   r
   	get_datesr   r   r   r   r   r   r3   r4   listlenappend)r   r<   r=   ralil_issuedatesr   pairsr"   banar#   	data_fufir8   relsr:   r1r2r&   s                   r   get_singletonszKosel.get_singletonsC   s   dff ??,ffkk'*\9IIk* 	6D77##D)DSb	I 00#-	9JFI::i(DD *u+ 
*B~#%R"5k *7$8$T"X-+,DHRLR)*
** 4j )tBx. )BBx|q( HRL))  : &tG}%*W&  "E)4j 6tBx. 6B)$++RH566;	6@ r   )F)NN)__name__
__module____qualname__r   r$   r.   rI    r   r   r   r   	   s    	>'r   r   )	r   r   r+   r3   r   r   r   r   r   rM   r   r   <module>rN      s#     	 
   a ar   