Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 Ö;jã@s�ddlZddlZddlZddlZddlmZmZmZmZddl m Z dZ ddd „Z dd d „Z d d „Zdd„Zdd„Zdd„Zdd„Zdd„ZdS)éNé)ÚconfigÚ constantsÚ log_utilsÚutils)Újson_loads_nstréé<ú .kcarestatuscCs$tjjtj|ƒ}tj|tjƒƒdS)N)ÚosÚpathÚjoinrÚ PATCH_CACHErÚ atomic_writeÚ timestamp_str)ÚfilenameÚstatus_filepath©rú2/usr/libexec/kcare/python/kcarectl/update_utils.pyÚtouch_status_gap_filesrcCsztjjtj|ƒ}tjj|ƒrvt|dƒ�J}y.t|jƒƒ}t|ƒt j t t j ƒkrTdSWnt k rjYnXWdQRXdS)NÚrFT)r r r rrÚisfileÚopenÚintÚreadrÚSTATUS_CHANGE_GAPÚSTATUS_CHANGE_GAP_DELAYÚtimeÚ Exception)rrÚsfileÚ timestamprrrÚstatus_gap_passeds   r!cCs|dkrtdj|ƒƒ‚dS)NÚkernelÚlibcarez$Unknown update status component: {0})r"r#)Ú ValueErrorÚformat)Ú componentrrrÚ_check_component%sr'c CsNtjtjƒ}|dkriSy t|ƒ}|Sttfk rHtjj dƒiSXdS)Nz"Failed to parse update status file) rÚ read_filerÚUPDATE_STATUS_PATHrr$Ú TypeErrorrÚkcarelogÚwarning)ÚcontentÚresultrrrÚ_load_update_status+s  r/c Csft|ƒy4tƒ}|ttjƒƒdœ||<tjtjtj |ƒƒWn$t k r`t j j ddd�YnXdS)N)Úerrorr zFailed to save update statusT)Úexc_info)r'r/rrrrrr)ÚjsonÚdumpsrrr+r,)r&r0ÚdatarrrÚsave_update_status9sr5cCs>t|ƒ}tt|ddƒƒ}|r:||kr:|jƒr6dj|ƒS|S|S)NÚstatusÚzHTTP Error: {0})ÚstrÚgetattrÚisdigitr%)ÚerrÚmessager6rrrÚ _error_statusGs  r=cstˆƒ‡fdd„}|S)Ncstjˆƒ‡‡fdd„ƒ}|S)NcsTyˆ||Ž}Wn4tk rB}ztˆt|ƒd�‚WYdd}~XnXtˆdd�|S)N)r0r7)rr5r=)ÚargsÚkwargsr.r;)r&ÚfnrrÚinner_s z5track_update_status..decorator..inner)Ú functoolsÚwraps)r@rA)r&)r@rÚ decorator^s z&track_update_status..decorator)r')r&rDr)r&rÚtrack_update_statusZs rEc Cs^t|ƒy,tƒ}|j|iƒjddƒ}t|ƒdtj…Stk rXtjj ddd�dSXdS)Nr0r7zFailed to read update statusT)r1) r'r/Úgetr8rÚUPDATE_ERROR_MAX_LENGTHrrr+r,)r&r4r0rrrÚread_update_errorosrHi,)r )r )rBr2r rr7rrrrÚpy23rrrr!r'r/r5r=rErHrrrrÚs