Файловый менеджер - Редактировать - /usr/lib/python3.9/site-packages/certbot/_internal/plugins/__pycache__/disco.cpython-39.pyc
Назад
a }|�g�, � @ s0 d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z dd lm Z dd lmZ ddlmZ ddlm Z dd lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ejdkr�ddlmZ nddlZe�e�Zejej ej!gZ"G dd� d�Z#G dd� de �Z$dS )z.Utilities for plugins discovery and selection.� N)�Callable)�cast)�Dict)�Iterable)�Iterator)�List)�Mapping)�Optional)�Type)�Union)� configuration)�errors)� interfaces)� constants)�os)�Error)� � c @ sV e Zd ZdZdZejdd�dd�Zee e d�dd�Zeeje d�d d ��Z ee d�dd ��Zee d�dd��Zee d�dd��Zee d�dd��Zee e d�dd�Zee d�dd��Zd*eej ejd�dd�Zee d�dd��Zee ef d�dd�Zee d�d d!��Z eee! d�d"d#��Z"ee d�d$d%��Z#e d�d&d'�Z$e d�d(d)�Z%dS )+�PluginEntryPointzPlugin entry point.N)�entry_point�returnc C s2 | � |�| _|�� | _|| _d | _d | _d | _d S �N)�entry_point_to_plugin_name�name�load� plugin_clsr Zwarning_message�_initialized� _prepared)�selfr � r �C/usr/lib/python3.9/site-packages/certbot/_internal/plugins/disco.py�__init__( s zPluginEntryPoint.__init__�r r c C s || j krdS dS )z(Check if the name refers to this plugin.TF�r �r r r r r � check_name0 s zPluginEntryPoint.check_namec C s |j S )z)Unique plugin name for an ``entry_point``r# )�clsr r r r r 6 s z+PluginEntryPoint.entry_point_to_plugin_name�r c C s | j jS )zDescription of the plugin.)r �description�r r r r r( ; s zPluginEntryPoint.descriptionc C s d� | j| j�S )z$Description with name. Handy for UI.z {0} ({1}))�formatr( r r) r r r �description_with_name@ s z&PluginEntryPoint.description_with_namec C s t | jd| j�S )zLong description of the plugin.�long_description)�getattrr r( r) r r r r, E s z!PluginEntryPoint.long_descriptionc C s t | jdd�S )z%Should this plugin be hidden from UI?�hiddenF)r- r r) r r r r. J s zPluginEntryPoint.hidden�� ifaces_groupsr c s | pt � fdd�|D ��S )z1Does plugin implement specified interface groups?c 3 s$ | ]}t � fd d�|D ��V qdS )c 3 s | ]}t � j|�V qd S r )� issubclassr ��.0Zifacer) r r � <genexpr>R s �z4PluginEntryPoint.ifaces.<locals>.<genexpr>.<genexpr>N)�all)r3 �ifacesr) r r r4 Q s ��z*PluginEntryPoint.ifaces.<locals>.<genexpr>)�any�r r0 r r) r r6 O s �zPluginEntryPoint.ifacesc C s | j duS )z(Has the plugin been initialized already?N)r r) r r r �initializedV s zPluginEntryPoint.initialized��configr c C s | j s| �|| j�| _ | j S )zMemoized plugin initialization.)r r r �r r; r r r �init[ s zPluginEntryPoint.initc C s | j st�d| � | jduS )z%Has the plugin been prepared already?z$.prepared called on uninitialized %rN)r9 �logger�debugr r) r r r �preparedc s zPluginEntryPoint.preparedc C s� | j du rtd��| jdu r�z| j �� W n� tjyh } z$tjd| |dd� || _W Y d}~n�d}~0 tjy� } z$tjd| |dd� || _W Y d}~nLd}~0 tj y� } z$tjd| |dd� || _W Y d}~nd}~0 0 d| _t ttt f | j�S )zMemoized plugin preparation.NzPlugin is not initialized.zMisconfigured %r: %sT)�exc_infozNo installation (%r): %szOther error:(%r): %s)r � ValueErrorr �preparer �MisconfigurationErrorr>