HEX
Server: Apache
System: Linux br384.hostgator.com.br 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User: regi8665 (2159)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //usr/libexec/kcare/python/kcarectl/update_utils.pyo
�
��ic@s�ddlZddlZddlZddlZddlmZmZmZmZddl	m
Z
er�ddlm
Z
mZmZndZdd	�Zdd
�Zd�Zd�Zd
�Zd�Zd�Zd�ZdS(i����Ni(tconfigt	constantst	log_utilstutils(tjson_loads_nstr(tAnytCallabletDictii<s.kcarestatuscCs2tjjtj|�}tj|tj��dS(N(tostpathtjoinRtPATCH_CACHERtatomic_writet
timestamp_str(tfilenametstatus_filepath((s2/usr/libexec/kcare/python/kcarectl/update_utils.pyttouch_status_gap_filesc	Cs�tjjtj|�}tjj|�r�t|d��X}y=t|j��}t|�t	j
ttj�krxt
SWntk
r�nXWdQXntS(Ntr(RR	R
RRtisfiletopentinttreadRtSTATUS_CHANGE_GAPtSTATUS_CHANGE_GAP_DELAYttimetFalset	ExceptiontTrue(RRtsfilet	timestamp((s2/usr/libexec/kcare/python/kcarectl/update_utils.pytstatus_gap_passeds#

cCs(|dkr$tdj|���ndS(Ntkerneltlibcares$Unknown update status component: {0}(RR (t
ValueErrortformat(t	component((s2/usr/libexec/kcare/python/kcarectl/update_utils.pyt_check_component%scCsetjtj�}|dkr"iSyt|�}|SWn(ttfk
r`tj	j
d�iSXdS(Ns"Failed to parse update status file(Rt	read_fileRtUPDATE_STATUS_PATHtNoneRR!t	TypeErrorRtkcarelogtwarning(tcontenttresult((s2/usr/libexec/kcare/python/kcarectl/update_utils.pyt_load_update_status+scCs�t|�yMt�}i|d6ttj��d6||<tjtjtj	|��Wn't
k
r�tjj
ddt�nXdS(NterrorRsFailed to save update statustexc_info(R$R-RRRRRR&tjsontdumpsRRR)R*R(R#R.tdata((s2/usr/libexec/kcare/python/kcarectl/update_utils.pytsave_update_status9s
	 
cCs&t|dd�}|r|St|�S(Ntstatust(tgetattrtstr(terrR4((s2/usr/libexec/kcare/python/kcarectl/update_utils.pyt
_error_statusGscst���fd�}|S(Ncs%tj����fd��}|S(NcsVy�||�}Wn,tk
rA}t�dt|���nXt�dd�|S(NR.R5(RR3R9(targstkwargsR,R8(R#tfn(s2/usr/libexec/kcare/python/kcarectl/update_utils.pytinnerUs(t	functoolstwraps(R<R=(R#(R<s2/usr/libexec/kcare/python/kcarectl/update_utils.pyt	decoratorTs!(R$(R#R@((R#s2/usr/libexec/kcare/python/kcarectl/update_utils.pyttrack_update_statusPs
cCsot|�y6t�}|j|i�jdd�}|tj SWn(tk
rjtjjddt	�dSXdS(NR.R5sFailed to read update statusR/(
R$R-tgetRtUPDATE_ERROR_MAX_LENGTHRRR)R*R(R#R2R.((s2/usr/libexec/kcare/python/kcarectl/update_utils.pytread_update_errores
	
i,(R>R0RRR5RRRRtpy23RRttypingRRRRRRR$R-R3R9RARD(((s2/usr/libexec/kcare/python/kcarectl/update_utils.pyt<module>s "