File: //usr/lib/python3/dist-packages/compose/cli/__pycache__/docopt_command.cpython-310.pyc
o
S�`( � @ sV d dl mZ d dlmZ d dlmZ dd� ZG dd� d�Zdd � ZG d
d� de�ZdS )
� )�getdoc)�docopt)�
DocoptExitc O s0 zt | g|�R i |��W S ty t| ��w �N)r r �
SystemExit)� docstring�args�kwargs� r
�</usr/lib/python3/dist-packages/compose/cli/docopt_command.py�docopt_full_help s
�r c @ s( e Zd Zdd� Zedd� �Zdd� ZdS )�DocoptDispatcherc C s || _ || _d S r )�
command_class�options)�selfr r r
r
r �__init__ s
zDocoptDispatcher.__init__c C s, t |�}t||fi |��}|d }|||fS )N�COMMAND)r r )�cls�
doc_entity�argvr �command_help�opt�commandr
r
r �get_command_and_options s
z(DocoptDispatcher.get_command_and_optionsc C sj t �| j|| j�\}}}|d u rt|��t| j|�}t|�}|d u r't|| ��t||d dd�}|||fS )N�ARGST)�
options_first) r
r r r r �get_handlerr �
NoSuchCommandr )r r r r r �handlerr �command_optionsr
r
r �parse s
�
zDocoptDispatcher.parseN)�__name__�
__module__�__qualname__r �classmethodr r r
r
r
r r
s
r
c C s6 |� dd�}|dkrd}t| |�st|| ��t| |�S )N�-�_�exec�exec_command)�replace�hasattrr �getattr)r r r
r
r r , s
r c s e Zd Z� fdd�Z� ZS )r c s t � �d| � || _|| _d S )NzNo such command: %s)�superr r �supercommand)r r r- �� __class__r
r r : s
zNoSuchCommand.__init__)r! r"