Sindbad~EG File Manager
3
x?ag� � @ st d Z ddlmZ ddlmZ ddlmZ ddlZddlZddlmZ ddl m
Z
m Z ejd � G d
d� dej�Z
dS )z�
VDOArgumentParser - argument parser for vdo command input
$Id: //eng/vdo-releases/aluminum/src/python/vdo/vdomgmnt/VDOArgumentParser.py#19 $
� )�absolute_import)�division)�print_functionN� )� Constants)�
ArgumentError�DefaultsZvdoc s e Zd ZdZed�jdjdd� ejdd_� D ��ej ejd` d�Z
ed �jdjd
d� ejdda� D ��ejejdb d�Z
G dd� dej�ZG d
d� dej�Zdc� fdd� Z� fdd�Zdd� Zdd� Zdddd�Zdedd�Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zdfd*d+�Z d,d-� Z!d.d/� Z"d0d1� Z#dgd2d3�Z$d4d5� Z%dhd7d8�Z&d9d:� Z'd;d<� Z(did=d>�Z)djd?d@�Z*dkdAdB�Z+dldCdD�Z,dmdEdF�Z-dndGdH�Z.dodIdJ�Z/dpdKdL�Z0dMdN� Z1dqdOdP�Z2dQdR� Z3dSdT� Z4drdUdV�Z5e6dWdX� �Z7dYdZ� Z8dsd[d\�Z9d]d^� Z:� Z;S )t�VDOArgumentParserz�Argument parser for the vdo command.
Attributes:
lvmOptionalSuffix (str): describes usage of lvm suffixes
lvmOptionalSiSuffix (str): describes usage of lvm SI suffixes
z;Using a value with a {options} or {last} suffix
is optionalz, c C s g | ]}t j| �qS � )r �lvmSuffixTextMap)�.0�suffixr
r
�'/usr/lib/python3.6/VDOArgumentParser.py�
<listcomp>: s zVDOArgumentParser.<listcomp>Nr )�optionsZlastz;Using a value with a {options} or {last}
suffix is optionalc C s g | ]}t j| �qS r
)r �lvmSiSuffixTextMap)r r
r
r
r r B s c s. e Zd ZdZ� fdd�Zd� fdd� Z� ZS )z'VDOArgumentParser.CommandArgumentParserz�Argument parser type to use for commands.
Provides command-identifying "unrecognized arguments" error rather
than having the unrecognized arguments bubble up to the root parser and
result in a non-specific "unrecognized arguments" error.
c s t tj| �j||� d| _d S )NF)�superr �CommandArgumentParser�__init__�_redirected)�self�args�kwargs)� __class__r
r r R s z0VDOArgumentParser.CommandArgumentParser.__init__Nc sD d}| j s,d| _ | j||�}d| _ |g f}nttj| �j||�}|S )z�Redirects the command's argument parsing through parse_arg()
which will, if there are unknown arguments, result in a cmmand-specific
"unrecognized arguments" message.
NTF)r �
parse_argsr r r �parse_known_args)r r � namespace�result)r r
r r X s
z8VDOArgumentParser.CommandArgumentParser.parse_known_args)NN)�__name__�
__module__�__qualname__�__doc__r r �
__classcell__r
r
)r r r J s r c @ s e Zd ZdZddd�ZdS )z&VDOArgumentParser.ExclusiveStoreActionz�Action type to use for commands.
Provides a class to store a string into a namespace as specified,
returning an error if it's already set.
Nc C s>