File: //home/arjun/projects/env/lib/python3.10/site-packages/boto/__pycache__/plugin.cpython-310.pyc
o
we�
� @ sN d Z ddlZddlZddlZG dd� de�Zddd�Zdd� Zd a d
d� Z
dS )
a
Implements plugin related api.
To define a new plugin just subclass Plugin, like this.
class AuthPlugin(Plugin):
pass
Then start creating subclasses of your new plugin.
class MyFancyAuth(AuthPlugin):
capability = ['sign', 'vmac']
The actual interface is duck typed.
� Nc @ s e Zd ZdZg Zedd� �ZdS )�PluginzBase class for all plugins.c C s |D ]
}|| j vr dS qdS )zMReturns true if the requested capability is supported by this plugin
FT)�
capability)�cls�requested_capability�c� r �D/home/arjun/projects/env/lib/python3.10/site-packages/boto/plugin.py�
is_capable1 s
�zPlugin.is_capableN)�__name__�
__module__�__qualname__�__doc__r �classmethodr r r r r r , s
r c C s2 |sg }g }| � � D ]}|�|�r|�|� q
|S �N)�__subclasses__r �append)r r �result�handlerr r r �
get_plugin; s
�r c C sf t j�| �\}}t j�|�\}}t�||g�\}} }zt�||| |�W |r*|�� S S |r2|�� w w r )�os�path�split�splitext�imp�find_module�load_module�close)�filenamer �name�ext�file�datar r r �_import_moduleE s
�
�r"