
    #wg5                     ~   d dl Z d dlZd dlZ	 d dlZ ej                  d      Zej                  dddd	       ej                  d
ddd	       ej                  dddd	       ej                  dddd	       ej                  dddd       ej                  dddd	       ej                         \  Z
Z ee      dk7  r"ej                           e j                  d       ed dd   \  ZZe
j"                  r ee
j"                        ZndZddZddZd Zd Zd Zedk(  r e        yy# e$ r	  ed      w xY w)    Nz6[ERROR] Please make sure whisper is installed properlyz%prog [options] path_a path_b)usagez	--summaryF
store_truezshow summary of differences)defaultactionhelpz--ignore-emptyz,skip comparison if either value is undefinedz	--columnszprint output in simple columnsz--no-headerszdo not print column headersz--untilintzEUnix epoch time of the end of your requested interval (default: None))r   typer   z--jsonzOutput results in JSON form      c           
         |rd}d}nd}d}|r"t         j                  j                  |dz         | D ]  \  }}}|rUt         j                  j                  d||j                         |fz         t         j                  j                  |dz         |D ]c  }|r0t         j                  j                  |d|d	   |d
   |d   fz         5t         j                  j                  |||d	   |d
   |d   fz         e  y )Nz%7s %11s %13s %13s
z%7s %11d %13s %13s
z%s %s %s %s
z%s %d %s %s
)archive	timestampvalue_avalue_bz(Archive %d (%d of %d datapoints differ)
) r   r   r   r   r   r   r
   sysstdoutwrite__len__)	diffsprettyheadershfr   pointstotalps	            ^/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/../../../bin/whisper-diff.pyprint_diffsr    )   s    AAAAJJQGGH % 	:gvu	jjB!159: ;	jjqBBC :	

b!A$!ad334

gqtQqT1Q4889	:	:    c                     |rd}nd}|r"t         j                  j                  |dz         | D ]9  \  }}}t         j                  j                  ||||j                         fz         ; y )Nz%7s %9s %9s
z	%s %s %s
)r   r   	differingr   )r   r   r   r   r   r   r   s          r   print_summaryr$   >   se    AAJJQ::; % =gvuJJQ'5&..*:;;<=r!   c                     t        t        j                  ||| D cg c]  \  }}}|||j                         d c}}}dddd             y c c}}}w )N)r   r   r   path_apath_barchivesTr
   ,z : 	sort_keysindent
separatorsprintjsondumpsr   )r   r'   r(   r   r   r   s         r   print_summary_jsonr4   I   sm    

f$ @E!F !F &<Wfe .5+0,2NN,<"> !FG "!	F G!Fs   Ac                     t        t        j                  ||| D cg c]6  \  }}}|||j                         |D cg c]  }|d   |d   |d   d c}d8 c}}}}dddd	             y c c}w c c}}}}w )
Nr   r   r
   )r   r   r   )r   r   r   	datapointr&   Tr*   r,   r0   )r   r'   r(   r   r   r   r   s          r   print_diffs_jsonr7   S   s    

f$ @E!F !F &<Wfe .5+0,2NN,<
 06	07 +, 45Q41211211& 07"8 !F
G "!	F G
07!Fs   A3A."A3.A3c                     t        j                  t        t        t        j
                  t              } t        j                  rSt        j                  rt        | t        t               y t        | t        j                   t        j                          y t        j                  rt        | t        t               y t        | t        j                   t        j                          y )N)ignore_empty
until_time)r   r   )whisperdiffr'   r(   optionsr9   r:   summaryr2   r4   r$   columns
no_headersr7   r    )archive_diffss    r   mainrB   b   s    ,,vvG<P<P*46-__||7Mw+>!(!3!336 ||}ff5-W__)<&1114r!   __main__)TT)r   optparser2   r;   ImportError
SystemExitOptionParseroption_parser
add_option
parse_argsr=   argslen
print_helpexitr'   r(   untilr   r:   r    r$   r4   r7   rB   __name__ r!   r   <module>rR      s     M &%%,OP   eL;  =   )5L  N   eL>  @   |;  =   Du9  :   5;  =  **,$t9>
#((1+1: 
==7==!**:*=GG4" z& U  MKLLMs   D. .D<