File: //lib/python3/dist-packages/awscli/__pycache__/clidocs.cpython-38.pyc
U
<�^qj � @ s� d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm Z d dl
mZ d dlm
Z
d dlmZ d d lmZ e �e�ZG d
d� de�ZG dd
� d
e�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZdS )� N)�
xform_name)�
DOC_EVENTS)�StringShape��is_json_value_header)�SCALAR_TYPES)�ParamShorthandDocGen)�
TopicTagDB)�%find_service_and_method_in_event_namec @ s� e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#S )$�CLIDocumentEventHandlerc C s, || _ | �|j|j� | �|�| _g | _d S �N)�help_command�register�session�event_class�_build_arg_table_groups�_arg_groups�_documented_arg_groups��selfr
� r �0/usr/lib/python3/dist-packages/awscli/clidocs.py�__init__ s z CLIDocumentEventHandler.__init__c C s: i }|j �� D ]&\}}|jd k r|�|jg ��|� q|S r )� arg_table�items�
group_name�
setdefault�append)r r
Z
arg_groups�name�argr r r r $ s
z/CLIDocumentEventHandler._build_arg_table_groupsc C s t |�rdS |S )NZJSONr )r �shape�defaultr r r �_get_argument_type_name+ s z/CLIDocumentEventHandler._get_argument_type_namec C sv t D ]l}|�dd�}t| |�rt| |�}t | }t|�d��d }|fd| } ||| }
|| }||
||� qd S )N�-�_�.� )�*)r �replace�hasattr�getattr�len�split)r r r ZmapfnZeventZevent_handler_nameZ
event_handler�
format_stringZnum_argsZformat_argsZevent_stringZ unique_idr r r �
_map_handlers0 s
z%CLIDocumentEventHandler._map_handlersc C s | � |||j� dS )a:
The default register iterates through all of the
available document events and looks for a corresponding
handler method defined in the object. If it's there, that
handler method will be registered for the all events of
that type for the specified ``event_class``.
N)r. r )r r r r r r r <