File: //proc/self/root/lib/python3.6/site-packages/awscli/__pycache__/help.cpython-36.pyc
3
�T_5 � @ s� d dl Z d dlZd dlZd dlZd dlZd dlmZmZ d dlm Z d dl
mZ d dlm
Z
d dlmZ d dlmZ d dlmZ d d lmZ d d
lmZ d dlmZ d dlmZ d d
lmZ d dlmZ d dlmZ d dlmZ e j d�Z!G dd� de"�Z#dd� Z$G dd� de%�Z&G dd� de&�Z'G dd� de&�Z(G dd� de%�Z)G dd� de)�Z*G d d!� d!e)�Z+G d"d#� d#e)�Z,G d$d%� d%e)�Z-G d&d'� d'e)�Z.dS )(� N)�Popen�PIPE)�publish_string)�manpage)�ProviderDocumentEventHandler)�ServiceDocumentEventHandler)�OperationDocumentEventHandler)�TopicListerDocumentEventHandler)�TopicDocumentEventHandler)� docevents)�ReSTDocument)�
TextWriter)�ParamShorthandParser)�ArgTableArgParser)�
TopicTagDB)�
ignore_ctrl_czawscli.helpc s e Zd Z� fdd�Z� ZS )�ExecutableNotFoundErrorc s t t| �jd| � d S )Nz$Could not find executable named "%s")�superr �__init__)�selfZexecutable_name)� __class__� �/usr/lib/python3.6/help.pyr ) s
z ExecutableNotFoundError.__init__)�__name__�
__module__�__qualname__r �
__classcell__r r )r r r ( s r c C s t j� dkrt� S t� S dS )zZ
Return the appropriate HelpRenderer implementation for the
current platform.
ZWindowsN)�platform�system�WindowsHelpRenderer�PosixHelpRendererr r r r �get_renderer. s r! c @ sJ e Zd ZdZejfdd�ZdZdd� Zdd� Z d d
� Z
dd� Zd
d� ZdS )�PagingHelpRendererz�
Interface for a help renderer.
The renderer is responsible for displaying the help content on
a particular platform.
c C s
|| _ d S )N)�
output_stream)r r# r r r r A s zPagingHelpRenderer.__init__Nc C s: | j }dtjkrtjd }ndtjkr0tjd }tj|�S )NZMANPAGER�PAGER)r$ �os�environ�shlex�split)r Zpagerr r r �get_pager_cmdlineF s
z$PagingHelpRenderer.get_pager_cmdlinec C s | j |�}| j|� dS )z`
Each implementation of HelpRenderer must implement this
render method.
N)�_convert_doc_content�_send_output_to_pager)r �contentsZconverted_contentr r r �renderN s
zPagingHelpRenderer.renderc C s2 | j � }tjd|� | j|td�}|j|d� d S )NzRunning command: %s)�stdin)�input)r) �LOG�debug�_popenr �communicate)r �output�cmdline�pr r r r+ V s z(PagingHelpRenderer._send_output_to_pagerc O s
t ||�S )N)r )r �args�kwargsr r r r2 \ s zPagingHelpRenderer._popenc C s |S )Nr )r r, r r r r* _ s z'PagingHelpRenderer._convert_doc_content)
r r r �__doc__�sys�stdoutr r$ r) r- r+ r2 r* r r r r r"