File: //lib/python3.9/site-packages/sos/cleaner/archives/__pycache__/sos.cpython-39.opt-1.pyc
a
\��h� � @ s` d dl Z d dlZd dlmZ G dd� de�ZG dd� de�ZG dd� de�ZG d d
� d
e�ZdS )� N)�SoSObfuscationArchivec @ s$ e Zd ZdZdZdZedd� �ZdS )�SoSReportArchivez�This is the class representing an sos report, or in other words the
type the archive the SoS project natively generates
�reportzsos report archivec C s. zt �|�od|v W S ty( Y dS 0 d S )N�
sosreport-F��tarfile�
is_tarfile� Exception��cls�arc_path� r
�</usr/lib/python3.9/site-packages/sos/cleaner/archives/sos.py�
check_is_type s zSoSReportArchive.check_is_typeN��__name__�
__module__�__qualname__�__doc__� type_name�description�classmethodr r
r
r
r r s
r c @ s$ e Zd ZdZdZdZedd� �ZdS )�SoSReportDirectoryz�This is the archive class representing a build directory, or in other
words what `sos report --clean` will end up using for in-line obfuscation
Z
report_dirzsos report directoryc C s t j�|�rdt �|�v S dS )NZsos_logsF��os�path�isdir�listdirr
r
r
r r ) s z SoSReportDirectory.check_is_typeNr r
r
r
r r ! s
r c @ s0 e Zd ZdZdZdZdZedd� �Zdd� Z d S )
�SoSCollectorArchivez�Archive class representing the tarball created by ``sos collect``. It
will not provide prep files on its own, however it will provide a list
of SoSReportArchive's which will then be used to prep the parsers
Zcollectzsos collect tarballTc C s. zt �|�od|v W S ty( Y dS 0 d S )Nzsos-collectFr r
r
r
r r : s z!SoSCollectorArchive.check_is_typec C s` | j dd� | j}g }t�|�D ]:}tj�||�}d|v r t�|�r |�t || j
| j�� q |S )NT)�quietr )�extractZextracted_pathr r r �joinr r �appendr ZtmpdirZkeep_binary_files)�self�_pathZarchives�fnameZarc_namer
r
r �get_nested_archivesA s �z'SoSCollectorArchive.get_nested_archivesN)
r r r r r r Z is_nestedr r r&