Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips
System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : fdshops ( 1003)
PHP Version : 8.2.21
Disable Function : NONE
Directory :  /lib/python2.7/site-packages/certbot/_internal/plugins/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyc
�
���_c@sfdZddlZddlZddlZddlZddlZddlZddlZddl	Zddl
mZddlm
Z
ddlmZddlmZddlmZyddlmZWn!ek
r�ddlmZnXeje�Zd	d
ddd
ddddddddddddgZdefd��YZdefd��YZdS(s.Utilities for plugins discovery and selection.i����N(tDict(terrors(t
interfaces(t	constants(tos(tMappingtcertbotscertbot-apachescertbot-dns-cloudflarescertbot-dns-cloudxnsscertbot-dns-digitaloceanscertbot-dns-dnsimplescertbot-dns-dnsmadeeasyscertbot-dns-gehirnscertbot-dns-googlescertbot-dns-linodescertbot-dns-luadnsscertbot-dns-nsonescertbot-dns-ovhscertbot-dns-rfc2136scertbot-dns-route53scertbot-dns-sakuraclouds
certbot-nginxtPluginEntryPointcBseZdZdZed�Zd�Zed��Z	e
d��Ze
d��Ze
d��Z
e
jd��Z
e
d��Zejd	��Zd
�Ze
d��Zdd�Zd
�Ze
d��Zd�Ze
d��Ze
d��Ze
d��Zd�Zd�ZRS(sPlugin entry point.cCs^|j||�|_|j�|_||_d|_d|_d|_t	|_
d|_dS(N(tentry_point_to_plugin_nametnametloadt
plugin_clstentry_pointtNonetwarning_messaget_initializedt	_preparedtFalset_hiddent_long_description(tselfRtwith_prefix((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt__init__6s					cCs3||jkr/|jr+tj|j�ntStS(s(Check if the name refers to this plugin.(R	RtloggertwarningtTrueR(RR	((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt
check_name@s
	cCs"|r|jjd|jS|jS(s)Unique plugin name for an ``entry_point``t:(tdisttkeyR	(tclsRR((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyRHscCs
|jjS(sDescription of the plugin.(Rtdescription(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyROscCsdj|j|j�S(s$Description with name. Handy for UI.s	{0} ({1})(tformatRR	(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pytdescription_with_nameTscCs:|jr|jSy|jjSWntk
r5|jSXdS(sLong description of the plugin.N(RRtlong_descriptiontAttributeErrorR(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR"Ys	
cCs
||_dS(N(R(RR((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR"cscCs|jpt|jdt�S(s%Should this plugin be hidden from UI?thidden(RtgetattrRR(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR$gscCs
||_dS(N(R(Rthide((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR$lscs!|p t�fd�|D��S(s2Does plugin implements specified interface groups?c3s+|]!}t�fd�|D��VqdS(c3s!|]}|j�j�VqdS(N(t
implementedByR(t.0tiface(R(sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pys	<genexpr>ssN(tall(R(tifaces(R(sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pys	<genexpr>ss(tany(Rt
ifaces_groups((RsC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR+ps
cCs
|jdk	S(s(Has the plugin been initialized already?N(RR
(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pytinitializedwscCs8|js1|jj�|j||j�|_n|jS(sMemoized plugin initialization.(R.RtrequireRR	R(Rtconfig((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pytinit|s	
cCs�|jst�x�|D]}}y tjjj||j��Wqtjjjk
r�}|j	|j
�r�tjd|j
|j
|dt�ntSXqWtS(s<Verify that the plugin conforms to the specified interfaces.s/%s implements %s but object does not verify: %stexc_info(R.tAssertionErrortzopet	interfacetverifytverifyObjectR1t
exceptionstBrokenImplementationR'RRtdebugt__name__RR(RR+R)terror((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR6�s
 	cCs)|jstjd|�n|jdk	S(s%Has the plugin been prepared already?s$.prepared called on uninitialized %rN(R.RR:RR
(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pytprepared�s	cCs�|jst�|jdkr�y|jj�Wn�tjk
ri}tj	d||dt
�||_q�tjk
r�}tj	d||dt
�||_q�tjk
r�}tj	d||dt
�||_q�Xt
|_n|jS(sMemoized plugin preparation.sMisconfigured %r: %sR2sNo installation (%r): %ssOther error:(%r): %sN(
R.R3RR
RtprepareRtMisconfigurationErrorRR:RtNoInstallationErrortPluginError(RR<((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR>�s 
cCst|jtj�S(sIs plugin misconfigured?(t
isinstanceRRR?(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt
misconfigured�scCst|jt�r|jSdS(sGReturn the Exception raised during plugin setup, or None if all is wellN(RBRt	ExceptionR
(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pytproblem�scCs|jtkp|jS(s4Is plugin available, i.e. prepared or misconfigured?(RRRC(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt	available�scCsdj|j�S(NsPluginEntryPoint#{0}(R R	(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt__repr__�scCs�dj|j�dj|jj�djdjd�tjj|j�D���dj|j�g}|j	r�|j
dj|j���|jr�|j
dj|j
���q�nd	j|�S(
Ns* {0}sDescription: {0}sInterfaces: {0}s, css|]}|jVqdS(N(R;(R(R)((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pys	<genexpr>�ssEntry point: {0}sInitialized: {0}s	Prep: {0}s
(R R	RRtjoinR4R5R'RR.tappendR1R=R>(Rtlines((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt__str__�s		"N(R;t
__module__t__doc__R
t__hash__RRRtclassmethodRtpropertyRR!R"tsetterR$R+R.R1R6R=R>RCRERFRGRK(((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR0s,
	
				tPluginsRegistrycBs�eZdZd�Zed��Zed��Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�ZRS(sPlugins registry.cCs%tjttj|���|_dS(N(tcollectionstOrderedDicttsortedtsixt	iteritemst_plugins(Rtplugins((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR�sc
CsBi}tjd�}|r*|jd�ng}tjj|�x|D]}tjj|�qGWt	j
tjtj
�tjtj��}x�|D]�}|j||dt�}|jdk	s�t�|jjtkr�|j||dt�}t|_dj|j|j�}	|	|_dj|	|j�|_q�q�W||�S(s+Find plugins using setuptools entry points.tCERTBOT_PLUGIN_PATHRRsRPlugin legacy name {0} may be removed in a future version. Please use {1} instead.s(WARNING: {0}) {1}N(Rtgetenvtsplittsystpathtextendt
pkg_resourcestworking_sett	add_entryt	itertoolstchaintiter_entry_pointsRtSETUPTOOLS_PLUGINS_ENTRY_POINTt"OLD_SETUPTOOLS_PLUGINS_ENTRY_POINTt_load_entry_pointRRR
R3RtPREFIX_FREE_DISTRIBUTIONSRR$R R	RR"(
RRYtplugin_paths_stringtplugin_pathstplugin_pathtentry_pointsRt	plugin_eptprefixed_plugin_eptmessage((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pytfind_all�s.
	
		cCs�t||�}|j|kr^||j}tdj|j|jjj|jjj���ntjj	|j
�r�|||j<ntjd|�|S(Ns+Duplicate plugin name {0} from {1} and {2}.s,%r does not provide IPluginFactory, skipping(
RR	RDR RRRRtIPluginFactoryt
providedByRRR(RRRYRRntother_ep((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyRh�s
	*
cCs|j|S(N(RX(RR	((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt__getitem__scCs
t|j�S(N(titerRX(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt__iter__scCs
t|j�S(N(tlenRX(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt__len__scCs,gtj|j�D]}|j|�^qS(s'Initialize all plugins in the registry.(RVt
itervaluesRXR1(RR0Rn((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR1scs,t|��fd�tj|j�D��S(s"Filter plugins based on predicate.cs+i|]!\}}�|�r||�qS(((R(R	Rn(tpred(sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pys
<dictcomp>s		(ttypeRVRWRX(RR{((R{sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pytfilterscCs|jd��S(s#Filter plugins based on visibility.cSs|jS(N(R$(Rn((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt<lambda> s(R}(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pytvisiblescs|j�fd��S(s#Filter plugins based on interfaces.cs
|j��S(N(R+(tp_ep(R-(sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR~$s(R}(RR-((R-sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR+"scs|j�fd��S(s%Filter plugins based on verification.cs
|j��S(N(R6(R�(R+(sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR~(s(R}(RR+((R+sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR6&scCs)gtj|j�D]}|j�^qS(s$Prepare all plugins in the registry.(RVRzRXR>(RRn((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR>*scCs|jd��S(s%Filter plugins based on availability.cSs|jS(N(RF(R�((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR~0s(R}(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyRF.scCsjgtj|j�D]'}|jr|j�|kr|^q}t|�dksXt�|rf|dSdS(s�Find an initialized plugin.

        This is particularly useful for finding a name for the plugin
        (although `.IPluginFactory.__call__` takes ``name`` as one of
        the arguments, ``IPlugin.name`` is not part of the interface)::

          # plugin is an instance providing IPlugin, initialized
          # somewhere else in the code
          plugin_registry.find_init(plugin).name

        Returns ``None`` if ``plugin`` is not found in the registry.

        iiN(RVRzRXR.R1RxR3R
(RtpluginRnt
candidates((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt	find_init3s'cCs5dj|jjdjd�tj|j�D���S(Ns{0}({1})t,css|]}t|�VqdS(N(trepr(R(R�((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pys	<genexpr>Ls(R t	__class__R;RHRVRzRX(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyRGIscCs0|js
dSdjd�tj|j�D��S(Ns
No pluginss

css|]}t|�VqdS(N(tstr(R(R�((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pys	<genexpr>Qs(RXRHRVRz(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyRKNs	(R;RLRMRRORqRhRuRwRyR1R}RR+R6R>RFR�RGRK(((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyRR�s"	 												(RMRSRctloggingR]R`RVtzope.interfaceR4tzope.interface.verifytacme.magic_typingRRRRtcertbot._internalRtcertbot.compatRtcollections.abcRtImportErrort	getLoggerR;RRitobjectRRR(((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt<module>sJ
	�

Spamworldpro Mini