4:65 #ˆl–ß=¿JJj"Tâ‚ ÆÜ¸'ÔÅ£É ƒh¹È¿Æ0x10000040 #ˆl–ß=¿JJj"Tâ‚ ÆÃq–ÔÅ£Ê ƒh¹ÉÀÇ1 $ˆl–äY>”ŠClÊq@³pO\dJbÑ¿Ë „.>ïÊÁÈ?÷a Û1j‡rã@sÖddlZddlZddlZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z ddl mZz ddlZWneyŽYn0dZdZdZd Zd ZGd d „d ƒZGd d„deƒZGdd„deƒZdS)éN)Údatetime)ÚLock)Ú find_spec)Úsos_get_command_outputÚfileÚlinkZnodeÚdirz contaner filec@sÈeZdZdZedd„ƒZe d¡ZdZ dZ e ƒZ dd„Z d d „Zd d „Zd d„Zdd„Zdd„Zdd„Zd-dd„Zd.dd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„ZdS)/ÚArchivez!Abstract base class for archives.cCs|jS)z6Returns the archive class's name as a string. )Ú__name__)Úcls©r ú//usr/lib/python3.9/site-packages/sos/archive.pyÚ archive_type,szArchive.archive_typeZsosZunsetFcCsd| ¡›d|›�S)Nz [archive:z] )r©ÚselfÚmsgr r r Ú _format_msg9szArchive._format_msgcCs ||_dS©N)Ú_debug)rÚdebugr r r Ú set_debug<szArchive.set_debugcCs|j | |¡¡dSr)ÚlogÚerrorrrr r r Ú log_error?szArchive.log_errorcCs|j | |¡¡dSr)rZwarningrrr r r Úlog_warnBszArchive.log_warncCs|j | |¡¡dSr)rÚinforrr r r Úlog_infoEszArchive.log_infocCs |js dS|j | |¡¡dSr)rrrrrr r r Ú log_debugHszArchive.log_debugcCs|jSr)Ú_name©rr r r ÚnameMsz Archive.nameNcCst‚dSr©ÚNotImplementedError)rÚsrcÚdestÚforcer r r Úadd_fileSszArchive.add_fileÚwcCst‚dSrr!)rÚcontentr$Úmoder r r Ú add_stringVszArchive.add_stringcCst‚dSrr!)rr(r$r r r Ú add_binaryYszArchive.add_binarycCst‚dSrr!)rÚsourceÚ link_namer r r Úadd_link\szArchive.add_linkcCst‚dSrr!©rÚpathr r r Úadd_dir_szArchive.add_dircCst‚dSrr!)rr0r)Údevicer r r Úadd_nodebszArchive.add_nodecCst‚dS)z´Return a temporary directory that clients of the archive may use to write content to. The content of the path is guaranteed to be included in the generated archive.Nr!rr r r Ú get_tmp_direszArchive.get_tmp_dircCst‚dS)zºReturn the maximum file name length this archive can support. This is the lesser of the name length limit of the archive format and any temporary file system based cache.Nr!rr r r Úname_maxkszArchive.name_maxcCst‚dS)aTReturn a string representing the path to the temporary archive. For archive classes that implement in-line handling this will be the archive file itself. Archives that use a directory based cache prior to packaging should return the path to the temporary directory where the report content is locatedNr!rr r r Úget_archive_pathqszArchive.get_archive_pathcCst‚dS)z:Clean up any temporary resources used by an Archive class.Nr!rr r r ÚcleanupzszArchive.cleanupcCst‚dS)aFinalize an archive object via method. This may involve creating An arc