Spade
Mini Shell
| Directory:~$ /proc/self/root/usr/lib/python2.7/site-packages/certbot/_internal/plugins/ |
| [Home] [System Details] [Kill Me] |
�
���_c@sfdZddlZddlZddlZddlZddlZddlZddlZddl Zddl
mZddlm
Z
ddlmZddlmZddlmZyddlmZWn!ek
r�ddlmZnXeje�Zd d
ddd
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��Ze
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(tselfRtwith_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 (tclsRR((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.RtrequireRR R(Rtconfig((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pytinit|s
cCs�x�|D]}}y
tjjj||j��Wqtjjjk
r�}|j|j�rt j
d|j|j|dt�nt
SXqWtS(s<Verify that the plugin conforms to
the specified interfaces.s/%s implements %s but object does not verify:
%stexc_info(tzopet interfacetverifytverifyObjectR1t
exceptionstBrokenImplementationR'RRtdebugt__name__RR(RR+R)terror((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR5�s
cCs)|jstjd|�n|jdk S(s%Has the plugin been
prepared already?s$.prepared called on uninitialized
%rN(R.RR9RR
(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pytprepared�s cCs�|jdkr�y|jj�Wn�tjk
rZ}tjd||dt�||_q�tj k
r�}tjd||dt�||_q�tj
k
r�}tjd||dt�||_q�Xt|_n|jS(sMemoized plugin
preparation.sMisconfigured %r: %sR2sNo installation (%r): %ssOther
error:(%r):
%sN(RR
RtprepareRtMisconfigurationErrorRR9RtNoInstallationErrortPluginError(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(RARt 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?(RRRB(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���|jr�|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 RRtjoinR3R4R'RR.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.R1R5R<R=RBRDRERFRJ(((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR0s,
tPluginsRegistrycBs�eZdZd�Zed��Zed��Zd�Zd�Zd�Z d�Z
d�Zd �Zd
�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
Cs-i}tjd�}|r*|jd�ng}tjj|�x|D]}tjj|�qGWt j
tjtj
�tjtj��}x�|D]�}|j||dt�}|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}(Rtgetenvtsplittsystpathtextendt
pkg_resourcestworking_sett add_entryt itertoolstchaintiter_entry_pointsRtSETUPTOOLS_PLUGINS_ENTRY_POINTt"OLD_SETUPTOOLS_PLUGINS_ENTRY_POINTt_load_entry_pointRRRtPREFIX_FREE_DISTRIBUTIONSRR$R
R RR"(
RRXtplugin_paths_stringtplugin_pathstplugin_pathtentry_pointsRt 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<ntjd|�|S(Ns+Duplicate plugin name {0} from
{1} and {2}.s,%r does not provide IPluginFactory, skipping(
RR RCR
RRRRtIPluginFactoryt
providedByRRR(RRRXRRmtother_ep((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyRg�s
*
cCs|j|S(N(RW(RR ((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt__getitem__scCs
t|j�S(N(titerRW(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt__iter__scCs
t|j�S(N(tlenRW(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.(RUt
itervaluesRWR1(RR0Rm((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 Rm(tpred(sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pys
<dictcomp>s (ttypeRURVRW(RRz((RzsC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pytfilterscCs|jd��S(s#Filter
plugins based on
visibility.cSs|jS(N(R$(Rm((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(R5(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.pyR5&scCs)gtj|j�D]}|j�^qS(s$Prepare
all plugins in the
registry.(RURyRWR=(RRm((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyR=*scCs|jd��S(s%Filter
plugins based on
availability.cSs|jS(N(RE(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.pyRE.scCsRgtj|j�D]'}|jr|j�|kr|^q}|rN|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.
iN(RURyRWR.R1R
(RtpluginRmt
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:RGRURyRW(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyRFIscCs0|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(RWRGRURy(R((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyRJNs (R:RKRLRRNRpRgRtRvRxR1R|R~R+R5R=RER�RFRJ(((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyRQ�s"
(RLRRRbtloggingR\R_RUtzope.interfaceR3tzope.interface.verifytacme.magic_typingRRRRtcertbot._internalRtcertbot.compatRtcollections.abcRtImportErrort getLoggerR:RRhtobjectRRQ(((sC/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.pyt<module>sJ
�