File: //lib/python3/dist-packages/sos/report/__pycache__/__init__.cpython-310.pyc
o
([Qhe> � @ sV d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dlZd dl m
Z
d dl mZ d dl
mZ d dlZd dlmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d d lmZ d dlZd d
l m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* d dl+m,Z, d dl-m.Z. ej/ej0fZ1ddd�Z2dd� Z3g d�Z4h d�Z5G dd� de�Z6dS )� N)�datetime)�ThreadPoolExecutor)�TimeoutError)�rmtree)�ImporterHelper�SoSTimeoutError�bold�sos_get_command_output�TIMEOUT_DEFAULT�listdir�
is_executable�scrub_url_credential)�_sos)�__version__)�SoSComponent)
�Report�Section�Command�
CopiedFile�CreatedFile�Alert�Note�PlainTextReport�
JSONReport�
HTMLReport)�
SoSCleaner)� SoSUploadF�, c C s� g }| }|r
t | �d }nd}|D ]}t |�t |� t |� dkr(|�|� |}|| | }q|t |� d � |krC|d t |� � }|�|� |S )N� � �H )�len�append)�
first_line�items�indent�sep�lines�line�newline�item� r+ �5/usr/lib/python3/dist-packages/sos/report/__init__.py�_format_list. s
r- c C s t �| d�d�S )z� This function will format --since arg to append 0s if enduser
didn't. It's used in the _get_parser.
This will also be a good place to add human readable and relative
date parsing (like '2 days ago') in the future z<014sz%Y%m%d%H%M%S)r �strptime)�dater+ r+ r, �
_format_since@ s r0 )�auto�always�never> �NO_PROXY� ALL_PROXY�
HTTP_PROXY�
http_proxy�HTTPS_PROXY�https_proxyc
s� e Zd ZdZdZdZi dd�dd�dd�dd �d
d�dd�d
d�dd�dd �dg �dg �dg �dd�dd�dd�dg �dd�i dg �dd�dg �dd �dd�dd�d d�d!d"�d#d�d$d%�d&g �d'g �d(g �d)d�d*d�d+d�d,d��i d-d�d.d �d/g �d0d�d1e�d2e�d3g �d4d�d5d�d6d�d7g �d8d�d9d�d:d�d;d�d<d�d=d��dddddddddd d d>��Z� fd?d@�Ze dAdB� �Z
e dCdD� �ZdEdF� ZdGdH� Z
dIdJ� ZdKdL� ZdMdN� ZdOdP� ZdQdR� ZdSdT� ZdUdV� Zd�dWdX�ZdYdZ� Zd[d\� Zd]d^� Zd_d`� Zdadb� Zdcdd� Zdedf� Zdgdh� Zedidj� �Zd�dkdl�Z dmdn� Z!dodp� Z"dqdr� Z#dsdt� Z$dudv� Z%dwdx� Z&d�dzd{�Z'd|d}� Z(d~d� Z)d�d�� Z*d�d�� Z+d�d�� Z,d�d�� Z-d�d�� Z.d�d�� Z/d�d�� Z0d�d�� Z1d�d�� Z2d�d�d��Z3d�d�� Z4d�d�� Z5d�d�� Z6d�d�� Z7d�d�� Z8d�d�� Z9d�d�� Z:d�d�� Z;d�d�� Z<d�d�� Z=d�d�� Z>d�d�� Z?d�d�� Z@d�d�� ZAd�d�� ZBd�d�� ZCd�d�� ZDd�d�� ZEd�d�� ZFd�d�� ZGd�d�� ZH� ZIS )�� SoSReportzaRun a set of commands and file collections and save them to a report for
future analysis
z.Collect files and command output in an archiveT�
alloptionsF�all_logs�build�case_idr �chrootr1 �clean�container_runtime�keep_binary_files�desc�domains�disable_parsers�skip_cleaning_files�dry_run�
estimate_only�experimental�enable_plugins�journal_size�d �keywords�keyword_fileN�plugopts�label�list_plugins�list_presets�
list_profiles�log_size� �low_priority�map_file� /etc/sos/cleaner/default_mapping�
skip_commands�
skip_files�skip_plugins�
namespaces� no_report�no_env_vars�no_postproc� no_update�note�only_plugins�preset�plugin_timeout�cmd_timeout�profiles�since�verify�allow_system_changes� usernames�upload�
upload_url�upload_directory�upload_user�upload_pass�
upload_method)�upload_no_ssl_verify�upload_protocol�upload_s3_endpoint�upload_s3_region�upload_s3_bucket�upload_s3_access_key�upload_s3_secret_key�upload_s3_object_prefix�
upload_target�
add_preset�
del_presetc s t � �|||� g | _g | _g | _t| _|| _d| _i | _ | �
� | �� | j�
� | _| jj�d�| _| �� d}| jj| _| jjrEd}n
| j�� rR| jtjkrRd}| j�d| j� d|� d�� | jjtvr| j�d | jj� �� t�� | j� � | �!d
� | �"� | �#� | �$� d S )N�/�report�default�cmdline�policyzset sysroot to 'z' (�)zinvalid chroot mode: � )%�super�__init__�loaded_plugins�skipped_plugins�all_options�default_env_vars�env_vars�_args�sysroot�estimated_plugsizes�print_header�
_set_debugr� �is_root�_is_root�manifest�
components�add_section� report_md�_set_directories�opts�in_container�osr&