
    ?h                     0    S SK r S SKrS SKr " S S5      rg)    Nc                   ^    \ rS rSrSrSS jrS rS rS rS r	S r
S	 rS
 rS rS rS rSrg)Ishus   zbasic functions for issuesc                 *    Xl         X l        0 U l        g )N)e
do_verbosecounter)selferimpr   s      !/home/ernad/ernad/python/ishus.py__init__Ishus.__init__
   s    $    c                     U R                   R                  S   nU R                   R                  R                  U5      n[	        U5      S   nX#   nU$ )Nissuesr   dirsfoldalastslist)r
   issues_fudiissues_dictlast_issuedate
issue_fufis        r   	last_fufiIshus.last_fufi   sI    ffkk(+ffll((5k*2. 0
r   c                     U R                   R                  S   nU R                   R                  R                  U5      nX1   nU$ Nr   r   r   r   r   )r
   	issuedater   r   r   s        r   fufi
Ishus.fufi   s:    ffkk(+ffll((5 +
r   c                     U R                   R                  S   nU R                   R                  R                  U5      n[	        U5      S   nU$ )z5this function looks wrong with the addition of futurer   r   r   )r
   r   r   r   s       r   r   Ishus.last_issuedate   A    ffkk(+ffll((5k*2.r   c                     U R                   R                  S   nU R                   R                  R                  U5      n[	        U5      S   nU$ )zsecond to lastr   r   )r
   r   r   sekl_issuedates       r   r)   Ishus.sekl_issuedate%   r&   r   c                 ~    SnU R                   R                   H  nUS-  nXR                  U'   M     U R                  $ )Nr      )r   
issuedatesr	   )r
   count_issuesr!   s      r   build_counterIshus.build_counter,   s=    **IAL&2LL# + ||r   c                 ^    SnU R                   R                   H  nX1:X  a  Us  $ US-  nM     g)z&position of an issuedate in issuedatesr   r,   N)r   r-   )r
   the_issuedatecountr!   s       r   pos	Ishus.pos3   s4    **I)QJE + r   c                    U R                  U5      nX2-   S:  a1  [        S[        R                  S9  U R                  R
                  S   $ X2-   [        U R                  R
                  5      :  a1  [        S[        R                  S9  U R                  R
                  S   $  U R                  R
                  X2-      nU$ ! [         a    Sn U$ f = f)z*shift always goes back for positiv numbersr   z$issues: returning earliest issuedatefiler   z issues: returning last issuedateN)r4   printsysstderrr   r-   len
IndexError)r
   r!   shiftr4   targets        r   r>   Ishus.shift<   s    hhy!;?8zz#66$$R((;TVV..//4zz#66$$Q''	VV&&s{3F   	F	s   "B? ?CCc                    SnSnU R                   R                   H  nX0R                   R                  ;  a    O~U R                   R                  S   S-   U-   S-   n[        R
                  R                  U5      (       d  [        S5        US-  n[        R                  " U5      nU H  nUS-  nM
     M     [        X!-  5      nU$ )Nr   dexis/z.json.gzzishus does not see {dexis_fufi}r,   )r   r-   active_issuedatesr   ospathisfiler9   filerloadint)r
   count_dexis_fufiscount_papidsr!   
dexis_fufi
dexis_datapapidaverages           r   average_sizeIshus.average_sizeM   s    **I 8 88W-3i?*LJ77>>*--78"J/J#! $ + l67r   c                    SU R                   R                  ;  a  gX!:  a  [        S5      e[        U R                   R                  S   5      nXR                   R                  ;  a  [        SU 3[        R                  S9  gXR                  ;  a*  U R                  5         XR                  ;  a  [        S5      eU R                  U   U R                  U   -
  nXC::  a  gg)z@if ref_issuedate is the current, use e.active_issuedates insteadtraspiTz*ref_issuedate must be later than issuedatezishus does not know r7   Fzbuilding the counter failed)
r   conf	ExceptionrJ   r-   r9   r:   r;   r	   r/   )r
   r!   ref_issuedaterT   diffs        r   is_it_activeIshus.is_it_active]   s    466;;&$HIITVV[[*+FF---(4zz#LL( , =>>||I&m)DD>r   c                     U R                   R                  S   nU R                   R                  R                  U5      nU$ r   r    )r
   r   r   s      r   dafusIshus.dafusr   s2    ffkk(+ffll((5r   )r	   r   r   N)F)__name__
__module____qualname____firstlineno____doc__r   r   r"   r   r)   r/   r4   r>   rQ   rY   r\   __static_attributes__ r   r   r   r      s<    $" *r   r   )rE   r:   rH   r   rd   r   r   <module>re      s    	 
 n nr   