File: //usr/lib/python3/dist-packages/sos/__pycache__/options.cpython-310.pyc
o
-�_g�2 � @ sX d dl mZ d dlmZ dd� Zdd� ZG dd� d�ZG d d
� d
e�ZG dd� d�Zd
S )� )�Action)�ConfigParserc C s t | �}|tu p|tu S )z@Return true if val is an instance of a known sequence type.
)�type�list�tuple)�val�val_type� r �-/usr/lib/python3/dist-packages/sos/options.py�_is_seq
s r c C s$ | � � }|dv r
dS |dv rdS d S )N)�true�on�yesT)�false�off�noF)�lower)r �_valr r r
�str_to_bool s r c @ s� e Zd Zdd� Zdd� Zd dd �Zd
d� Zdd
� Zi fdd�Ze i fdd��Z
e dd� �Zdd� Zdd� Z
d!dd�Zd!dd�Zdd� ZdS )"�
SoSOptionsc C s� dd� }t ||�rLt||�}t| |�}||�r||�r&|s&|| jvr>t|�s>t| ||� |r6| j�|� d S | j�|� d S t|�rNt| ||| � d S d S d S )Nc S s | dkp| d u S )N� r )r r r r
�_unset s z%SoSOptions._merge_opt.<locals>._unset)�hasattr�getattr�_nondefaultr �setattr�discard�add)�self�opt�src�
is_defaultr �newvalue�oldvaluer r r
�
_merge_opt s
��zSoSOptions._merge_optc C s0 t |t�s t|�}| jD ] }| �|||� qd S �N)�
isinstance�dict�vars� arg_namesr$ )r r r! �argr r r
�_merge_opts7 s
�zSoSOptions._merge_optsF� r c sz |}d}� j D ]
}||| | 7 }q|�|� � fdd�� j D �}|s+dd� |D �}ndd� |D �}|t|� �|�| S )aI Format a SoSOptions object as a human or machine readable string.
:param quote: quote option values
:param sep: list separator string
:param prefix: arbitrary prefix string
:param suffix: arbitrary suffix string
:param literal: print values as Python literals
z=%sc s g | ]}t � |��qS r )r )�.0r* �r r r
�
<listcomp>L � z$SoSOptions.__str.<locals>.<listcomp>c S s"