U
    Tg                     @   sN  d dl Z d dlZd dlZzd dlZW n ek
r@   edY nX ejddZejddddd	 ejd
dddd	 ejddddd	 ejddddd	 ejddddd ejddddd	 e	 \Z
Zeedkre  e d ed dd \ZZe
jr
ee
jZndZd$ddZd%ddZdd Zdd  Zd!d" Zed#krJe  dS )&    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      Tc           	   
   C   s   |rd}d}nd}d}|r*t j|d  | D ]\}}}|rft jd|| |f  t j|d  |D ]R}|rt j|d|d	 |d
 |d f  qjt j|||d	 |d
 |d f  qjq.d S )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p r   \/home/ankuromar296_gmail_com/.local/lib/python3.8/site-packages/../../../bin/whisper-diff.pyprint_diffs)   s"    &r   c                 C   sP   |r
d}nd}|r"t j|d  | D ]$\}}}t j|||| f  q&d S )Nz%7s %9s %9s
z	%s %s %s
)r   r   Z	differingr   )r   r   r   r   r   r   r   r   r   r   print_summary>   s    r    c                 C   s,   t tj||dd | D ddddd d S )Nc                 S   s"   g | ]\}}}|||  d qS ))r   r   r   r   .0r   r   r   r   r   r   
<listcomp>L   s
   z&print_summary_json.<locals>.<listcomp>path_apath_bZarchivesTr	   ,z : 	sort_keysindent
separatorsprintjsondumpsr   r&   r'   r   r   r   print_summary_jsonI   s      r3   c                 C   s,   t tj||dd | D ddddd d S )Nc                 S   s.   g | ]&\}}}|||  d d |D dqS )c                 S   s$   g | ]}|d  |d |d dqS )r   r
   r	   )r   r   r   r   )r#   r   r   r   r   r$   Y   s
   z/print_diffs_json.<locals>.<listcomp>.<listcomp>)r   r   r   Z	datapointr!   r"   r   r   r   r$   V   s   z$print_diffs_json.<locals>.<listcomp>r%   Tr	   r(   r*   r.   r2   r   r   r   print_diffs_jsonS   s      r4   c                  C   st   t jtttjtd} tjrFtjr.t	| tt qpt
| tj tj d n*tjrZt| tt nt| tj tj d d S )N)ignore_empty
until_time)r   r   )whisperdiffr&   r'   optionsr5   r6   summaryr0   r3   r    columnsZ
no_headersr4   r   )Zarchive_diffsr   r   r   mainb   s    

r<   __main__)TT)TT)r   optparser0   r7   ImportError
SystemExitOptionParserZoption_parser
add_option
parse_argsr9   argslen
print_helpexitr&   r'   Zuntilr   r6   r   r    r3   r4   r<   __name__r   r   r   r   <module>   sP   










