Package entropy :: Package spm :: Package plugins :: Module factory

Source Code for Module entropy.spm.plugins.factory

 1  # -*- coding: utf-8 -*- 
 2  """ 
 3   
 4      @author: Fabio Erculiani <lxnay@sabayonlinux.org> 
 5      @contact: lxnay@sabayonlinux.org 
 6      @copyright: Fabio Erculiani 
 7      @license: GPL-2 
 8   
 9      B{Entropy Source Package Manager Plugins factory module}. 
10   
11  """ 
12  from entropy.const import etpConst 
13  from entropy.core import EntropyPluginFactory 
14  from entropy.core.settings.base import SystemSettings 
15  from entropy.i18n import _ 
16  from entropy.spm.plugins.skel import SpmPlugin 
17  import entropy.spm.plugins.interfaces as plugs 
18   
19  settings = SystemSettings() 
20  default_plugin = settings['system'].get('spm_backend', 
21      etpConst['spm']['backend']) 
22   
23  FACTORY = EntropyPluginFactory(SpmPlugin, plugs, 
24      default_plugin_name = default_plugin, 
25      fallback_plugin_name = etpConst['spm']['backend']) 
26   
27  get_available_plugins = FACTORY.get_available_plugins 
28  get_default_class = FACTORY.get_default_plugin 
29   
30 -def get_default_instance(output_interface):
31 """ 32 Return the currently configured Entropy SPM interface instance. 33 34 @param output_interface: Entropy Output Interface instance 35 @type output_interface: entropy.output.TextInterface based instance 36 @return: currently selected SPM interface 37 @rtype: entropy.spm.plugins.skel.SpmPlugin based instance 38 """ 39 spm_class = get_default_class() 40 return spm_class(output_interface)
41