Viewing File: /usr/lib/python2.7/site-packages/tuned/utils/plugin_loader.pyc

ó
æ”\c@sJddlZddlZdgZejjƒZdefd„ƒYZdS(iÿÿÿÿNtPluginLoadercBsDeZdddgZd„Zd„Zd„Zd„Zd„ZRS(t
_namespacet_prefixt
_interfacecCs
tƒ‚dS(s~
		This method has to be implemented in child class and should
		set _namespace, _prefix, and _interface member attributes.
		N(tNotImplementedError(tself((s=/usr/lib/python2.7/site-packages/tuned/utils/plugin_loader.pyt_set_loader_parametersscCsŸtt|ƒjƒd|_d|_d|_|jƒt|jƒt	ksSt
‚t|jƒt	ksnt
‚t|jƒtkr•t|jtƒs›t
‚dS(N(
tsuperRt__init__tNoneRRRRttypetstrtAssertionErrort
issubclasstobject(R((s=/usr/lib/python2.7/site-packages/tuned/utils/plugin_loader.pyRs			
cCs>t|ƒtkst‚d|j|j|f}|j|ƒS(Ns%s.%s%s(R
RRRRt
_get_class(Rtplugin_nametmodule_name((s=/usr/lib/python2.7/site-packages/tuned/utils/plugin_loader.pytload_pluginscCsÅtjd|ƒt|ƒ}|jdƒ}|jdƒx.t|ƒdkrit||jdƒƒ}q<WxH|jD]=}t||ƒ}t|ƒtkrtt	||j
ƒrt|SqtWtdƒ‚dS(Nsloading module %st.isCannot find the plugin class.(tlogtdebugt
__import__tsplittpoptlentgetattrt__dict__R
R
RtImportError(RRtmoduletpathtnametcls((s=/usr/lib/python2.7/site-packages/tuned/utils/plugin_loader.pyR"s
$cCs¸t|jƒ}g}xœtj|jjdƒD]}ygtjj|ƒd}|jdƒscw/n|j	d|j|fƒ}||kr›|j
|ƒnWq/tk
r¯q/Xq/W|S(Nitplugin_s%s.%s(RRtostlistdirtpluginst__path__Rtsplitextt
startswithRtappendR(Rtplugins_packagetplugin_clssRtplugin_class((s=/usr/lib/python2.7/site-packages/tuned/utils/plugin_loader.pytload_all_plugins2s 
(t__name__t
__module__t	__slots__RRRRR,(((s=/usr/lib/python2.7/site-packages/tuned/utils/plugin_loader.pyRs				(	t
tuned.logsttunedR"t__all__tlogstgetRRR(((s=/usr/lib/python2.7/site-packages/tuned/utils/plugin_loader.pyt<module>s	
Back to Directory File Manager