File: //usr/lib/python3.6/site-packages/sos/__pycache__/options.cpython-36.opt-1.pyc
3
-�_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 | �}|tkp|tkS )z@Return true if val is an instance of a known sequence type.
)�type�list�tuple)�valZval_type� r �/usr/lib/python3.6/options.py�_is_seq
s r
c C s$ | j � }|d krdS |d
kr dS d S )N�true�on�yesT�false�off�noF)r r r
)r r r )�lower)r Z_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 ||�r�t||�}t| |�}||�r8||� sP|sP|| jkr|t|� r|t| ||� |rn| jj|� q�| jj|� nt|�r�t| ||| � d S )Nc S s | dkp| d kS )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 ZnewvalueZoldvaluer r r �
_merge_opt s
zSoSOptions._merge_optc C s4 t |t�st|�}x| jD ]}| j|||� qW d S )N)�
isinstance�dict�vars� arg_namesr )r r r �argr r r �_merge_opts7 s
zSoSOptions._merge_optsF� r c s~ |}d}x� j D ]}||| | 7 }qW |j|� � fdd�� j D �}|sZdd� |D �}ndd� |D �}|t|� j|�| 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 s z$SoSOptions.__str.<locals>.<listcomp>c S s"