
    Fj                       S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKJr  S SK	J
r
Jr  \" S5      r\" S5      r\S-  \S-  \S	-  \S
-  \S-  \S-  /r\S-  \S-  \S-  \S-  \S-  \S-  \S-  \S-  \S-  \S-  \S-  \S-  /rSS0r/ SQr\" S5      \" S5      /rS"S jrS#S jrS$S  jr\S!:X  a  \R.                  " \" 5       5        gg)%    )annotationsN)Path)urlopenRequestz/home/sebas/pi-configz/home/sebaszagents-databaseruntimeworkoutputsarchivenoteszsettings.jsonz	AGENTS.mdzdocs/bootstrap.mdzdocs/service-manifest.mdzdocs/backup-policy.mdzbin/task-phase-initzbin/task-phase-runzbin/task-phase-loopzscripts/bootstrap-prereqs.shzscripts/bootstrap-pi-config.shzscripts/bootstrap-services.shzscripts/bootstrap-validate.shagents_databasez%http://100.116.176.16:8091/api/status)zagents-database-http.servicez#agents-database-maintenance.servicez)install-session-memory-dispatcher.servicezsession-memory-sweeper.timerzpi-telegram.servicezwifi-tracker-api.servicez /etc/nginx/sites-available/kioskz/var/www/portal/index.htmlc                    [         R                  " U [         R                  [         R                  SS9nUR                  UR
                  R                  5       4$ )NT)stdoutstderrtext)
subprocessrunPIPESTDOUT
returncoder   strip)cmdps     bin/pi-config-auditr   r   5   s;    s:??:;L;LSWXA<<)))    c                     [        U SS0S9n[        USS9 nUR                  S5      R                  SS5      nS S S 5        S	W4$ ! , (       d  f       N= f! [         a  nS
[        U5      4s S nA$ S nAff = f)Nz
User-Agentzpi-config-audit)headers   )timeouti,  zutf-8replaceTF)r   r   readdecode	Exceptionstr)urlreqrespbodyes        r   	check_urlr)   :   sv    cL2C#DES!$99S>(()<D %Tz %$  c!f}s3   A "AA 
AA 
A8!A3-A83A8c            
        / n / n/ nS HM  n[         R                  " U5      nU(       a  UR                  SU SU 35        M9  U R                  SU 35        MO     [        R                  R                  SS5      nS HA  nXeR                  S5      ;   a  UR                  S	U 35        M-  UR                  S
U 35        MC     [         HB  nUR                  5       (       a  UR                  SU 35        M.  U R                  SU 35        MD     [         HB  nUR                  5       (       a  UR                  SU 35        M.  U R                  SU 35        MD     [        R                  5        HM  u  p[        U
5      u  pU(       a  UR                  SU	 SU
 35        M2  U R                  SU	 SU
 SU S35        MO     [         HH  n[        SSSU/5      u  pUS:X  a  UR                  SU 35        M0  UR                  SU SU S35        MJ     [          HB  nUR                  5       (       a  UR                  SU 35        M.  UR                  SU 35        MD     ["        S-  nUR                  5       (       a  UR                  SU 35        OUR                  SU 35        [%        S5        [%        S[&         35        [%        5         [%        S 5        U (       a  U  H  n[%        S!U 35        M     O[%        S"5        [%        5         [%        S#5        U(       a  U H  n[%        S!U 35        M     O[%        S"5        [%        5         [%        S$5        U H  n[%        S!U 35        M     U (       a  S%$ S$ )&N)pibunpython3tmuxgitcurlzcmd ok: z -> zmissing command: PATH )z/home/sebas/pi-config/binz/home/sebas/.local/bin:z	path ok: zPATH missing expected entry: zdir ok: zmissing dir: z	file ok: zmissing file: zurl ok: zurl failed: z ()	systemctlz--userz
is-enabledr   zuser unit enabled: zuser unit not enabled: zhost path ok: zhost path missing: z
.tmux.confztmux config ok: ztmux config missing: zpi-config auditzroot=zissues:z- z- nonez	warnings:zinfo:   )shutilwhichappendosenvirongetsplitREQUIRED_DIRSis_dirREQUIRED_FILESexistsURLSitemsr)   
USER_UNITSr   SYSTEM_PATHSHOMEprintROOT)issueswarningsinfor   pathpath_envexpecteddflabelr$   okdetailunitcodeoutr   	tmux_confitems                      r   mainrY   D   s	   FHD>||C KK(3%tD623MM-cU34 ? zz~~fb)HK~~c**KK)H:./OO;H:FG	 L 88::KK(1#'MMM!-.	  88::KK)A3(MMN1#./	  jjl
s^
KK(5'cU34MMLtC56(!DE # hdCD	19KK-dV45OO5dV2cU!DE  88::KK.,-OO1!56	  |#I&yk23/	{;<	
	E$.	G	)DBtf+  	h	G	+DBtf+  	h	G	'N4&k  1Ar   __main__)r   z	list[str]returnztuple[int, str])r$   r#   r[   ztuple[bool, str])r[   int)
__future__r   jsonr:   r7   r   syspathlibr   urllib.requestr   r   rH   rF   r>   r@   rB   rD   rE   r   r)   rY   __name__exit r   r   <module>re      s:   "  	   
  +#$M96M997N 	?;%%""    ))++**** >
 		+,	%&*
Nb zHHTV r   