3 À<×e?ã@s@ddlZddlZddlmZejjƒZdgZGdd„deƒZ dS)éN)Ú PluginLoaderÚ Repositorycs@eZdZ‡fdd„Zedd„ƒZdd„Zdd„Zd d „Z‡Z S) rcstt|ƒjƒtƒ|_dS)N)ÚsuperrÚ__init__ÚsetÚ _monitors)Úself)Ú __class__©ú /usr/lib/python3.6/repository.pyr szRepository.__init__cCs|jS)N)r)rr r r ÚmonitorsszRepository.monitorscCsd|_d|_tjj|_dS)Nztuned.monitorsZmonitor_)Z _namespaceÚ_prefixÚtunedr ZMonitorÚ _interface)rr r r Ú_set_loader_parameterssz!Repository._set_loader_parameterscCs0tjd|ƒ|j|ƒ}||ƒ}|jj|ƒ|S)Nzcreating monitor %s)ÚlogÚdebugZ load_pluginrÚadd)rZ plugin_nameZdevicesZ monitor_clsZmonitor_instancer r r Úcreates   zRepository.createcCs(t||jƒst‚|jƒ|jj|ƒdS)N)Ú isinstancerÚAssertionErrorZcleanuprÚremove)rZmonitorr r r ÚdeleteszRepository.delete) Ú__name__Ú __module__Ú __qualname__rÚpropertyr rrrÚ __classcell__r r )r r r s   ) Z tuned.logsrZtuned.monitorsZtuned.utils.plugin_loaderrZlogsÚgetrÚ__all__rr r r r Ús