← Back
Editing: plugin.cpython-38.pyc
U ��W[� � @ s d Z ddlmZmZ ddlZddlZddlmZmZ dd� Z e � Z ddlmZ ddl mZ dd lmZ dd lmZ ddlmZ G dd � d e�ZG dd� de�ZG dd� de�Zdd� Zz ejZW n ek r� ddd�ZY nX dd� Zddd�ZeZdd� Z ddgZ!dS )zL Plugin system for Twisted. @author: Jp Calderone @author: Glyph Lefkowitz � )�absolute_import�divisionN)� Interface� providedByc C s4 zddl } | W S tk r. ddl}| Y S X dS )z5 Determine which 'pickle' API module to use. r N)�cPickle�ImportError�pickle)r r � r �0/usr/lib/python3/dist-packages/twisted/plugin.py�_determinePickleModule s r )�getAdapterFactory)�namedAny)�log)� getModule)� iteritemsc @ s e Zd ZdZdS )�IPluginz� Interface that must be implemented by all plugins. Only objects which implement this interface will be considered for return by C{getPlugins}. To be useful, plugins should also implement some other application-specific interface. N)�__name__� __module__�__qualname__�__doc__r r r r r ) s r c @ s2 e Zd Zdd� Zdd� Zdd� Zd dd �ZeZdS )�CachedPluginc C s* || _ || _|| _|| _| j j�| � d S �N)�dropin�name�description�provided�plugins�append)�selfr r r r r r r �__init__5 s zCachedPlugin.__init__c C s&