
    lj                         d dl Z d dlZd dlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZ dd	lmZ dd
ee   dz  defdZedk(  r ej,                   e              yy)    N)Path   )serve)load_config)connect)apply_migrations)render_jsonrender_markdown)Watcherargvreturnc                 &   t        j                  d      }|j                  dt        t        d             |j	                  dd      }|j                  d	       |j                  d
       |j                  d       |j                  d      }|j                  ddd       |j                  d       |j                  d      }|j                  ddd       |j                  |       }|j                  d
k(  rEt        |j                        }t        d|j                   dt        |j                         d       y|j                  d	k(  r^t        |j                        }t        |j                  j                        }t!        |      }|j#                          t        d|        yt        |j                        }t%        ||j                  j&                        }		 |j                  dk(  r8|	j)                         }
t        d|
j*                   d|
j,                   d       nE|j                  dk(  r0t        |j.                  dk(  rt1        |	      n
t3        |	             n|j                  dk(  r6t5        |	|j                  j6                  |j                  j8                         n|j                  dk(  r|j                  j:                  }|	j<                  j;                  |j>                  |j@                  |jB                  |jD                  |jF                  d |jH                   xs |jJ                   !      }|jH                  r|jJ                  sd"nd#}t        d$| d%|        |	j#                          y# |	j#                          w xY w)&Nwatcher)progz--configzconfig.yaml)typedefaultcommandT)destrequiredmigratezvalidate-configscanreportz--format)jsonmarkdownr   )choicesr   r   	retentionz--apply
store_truez3delete records outside configured retention windows)actionhelpzvalid: z (z collectors)r   zschema version: zcycle: z observations, z collector failuresr   )job_observationsjob_runsstatus_eventscollector_runswatcher_events)dry_runzdry-runappliedz
retention z: )&argparseArgumentParseradd_argumentr   add_subparsers
add_parser
parse_argsr   r   configprintlen
collectorsr   r   database_pathr   closer   parentrun_onceobservations_createdcollectors_failedformatr
   r	   r   api_hostapi_portr   
repositoryjob_observations_daysjob_runs_daysstatus_events_dayscollector_runs_dayswatcher_events_daysapplyenabled)r   parsersubr   r   argsr-   
connectionversionr   resultvaluescountsmodes                 G/opt/struktur/hermes-workspace/worker-watcher/src/worker_watcher/cli.pymainrL      s   $$)4F

tM7JK


Y

>CNN9NN$%NN6^^H%F

,@&QNN7{+I9\@uvT"D||((T[[)}Bs6+<+<'=&>lKL||y T[[)V^^99:
":. 	*+%Ffdkk001G<<6!%%'FGF778H`H`Gaatuv\\X%dkkZ.G/'*[Y`Mab\\W$'6>>22FNN4K4KL\\[(^^--F''11vGcGc?E?S?SDJD]D]EKE_E_EKE_E_	3a
 ?Cjj.:^PVP^P^L^ 2 `F %)JJfnn9)DJtfBvh/0 	s   !FM> >N__main__)N)r'   syspathlibr   apir   r-   r   db.connectionr   db.migrationsr   reportsr	   r
   r   r   liststrintrL   __name__exit     rK   <module>r[      s\     
    " + 1 .tCy4 .3 .b zCHHTV rZ   