
    W|h                         S SK r  S SK Jr  SrS SKrS SKrS SKr\R                  S:  a  \r	OS SK
JrJr  S rS rS	 rS
 r\S:X  a  \" 5         gg! \ a    Sr NLf = f)    N)operatorTF)   r   )filterzipc                     ^ ^ [         (       a  [        R                  " T 6 $ [        T 5      S:X  a  T S   mU4S jnU$ U 4S jnU$ )N   r   c                    > U T   $ N )objitems    S/home/james-whalen/.local/lib/python3.13/site-packages/../../../bin/whisper-fill.pygitemgetter.<locals>.g+   s    4y     c                 0   >^  [        U 4S jT 5       5      $ )Nc              3   .   >#    U  H
  nTU   v   M     g 7fr
   r   ).0r   r   s     r   	<genexpr>(itemgetter.<locals>.g.<locals>.<genexpr>0   s     954SY5s   )tuple)r   itemss   `r   r   r   /   s    95999r   )HAS_OPERATORr   
itemgetterlen)r   r   r   s   ` @r   r   r   $   sC    |""E**u:?8D! :r   c                 &   [         R                  " U 5      nUS   nUR                  [        S5      S9  [	        [
        R
                  " 5       5      US   -
  nX&:  a  X6:  a  g U H  n[
        R
                  " 5       US   -
  nX8::  a  M%  Un	X:  a  UOUn
[         R                  " X
U	5      u  pUu  pn[        [        S [        [        XU5      U5      5      5      nUR                  S SS9  [         R                  " UU5        U
nX#:X  d  M    g    g )	Narchives	retentionkeymaxRetentionc                     U S   S L$ )Nr   r   )pointss    r   <lambda>fill.<locals>.<lambda>R   s    6!9D0r   c                     U S   $ )Nr   r   )ps    r   r$   r%   U   s    1r   T)r    reverse)whisperinfosortr   inttimefetchlistr   r   xrangeupdate_many)srcdsttstarttstop	srcHeadersrcArchivessrcTimearchivertime	untilTimefromTimetimeInfovaluesstartendarchive_steppointsToWrites                    r   fillrC   4   s
    S!IJ'KK01 $))+>!::GEO 		gk22>	!N5$]]3)D%-"\V0u<0&9; < 	~t<C/ ?- r   c                    [         R                  " U5      nUS   n[        US S9nU H  n[        R                  " 5       US   -
  nXb:  a  M%  [         R                  " XU5      u  pxUu  pnS nU Ha  nU(       d
  U(       d  U	nOIU(       a$  U(       a  X-
  US   :  a  [        XX-
  U	5        S nOU(       a  XU-
  :X  a  [        XX-
  U	5        X-  n	Mc     UnM     g )Nr   c                     U S   $ )Nr   r   )ts    r   r$   fill_archives.<locals>.<lambda>b   s    anr   r   r   secondsPerPoint)r)   r*   sortedr-   r.   rC   )r2   r3   	startFromheaderr   r9   r<   r=   r>   r?   r@   stepgapstartvs                 r   fill_archivesrO   _   s    \\#Fj!Hh$<=H99;!55 $]]3)D%TAX x$0A(BB8?E:eTz1Sx6ME  	+ r   c                     [         R                  " SSS9n U R                  SSSSS9  U R                  5       u  p[	        U5      S	:w  a&  U R                  5         [        R                  " S
5        UR                  SL a   [        R                  (       a  S[        l        US   nUS
   n[        R                  " 5       n[        X4U5        g )Nz%prog [--lock] src dstz'copies data from src in dst, if missing)usagedescriptionz--lockzLock whisper filesF
store_true)helpdefaultaction   r   Tr   )optparseOptionParser
add_option
parse_argsr   
print_helpsysexitlockr)   CAN_LOCKLOCKr-   rO   )option_parseroptionsargsr2   r3   rJ   s         r   mainre   |   s    ))&=?M +l  , $..0OW
4yA~  "||t 0 0
q'C
q'C		I#I&r   __main__)r)   r   r   ImportErrorr-   r]   rX   version_inforanger0   future_builtinsr   r   r   rC   rO   re   __name__r   r   r   <module>rl      sx   $  L  
 vF+ (V:'. zF y  Ls   A AA