示例#1
0
        key=lambda callback: getattr(callback, 'priority', DEFAULT_PRIORITY))
    return callbacks


exp_config = LabConfig()
if not exp_config.has_section('BLACS/plugins'):
    exp_config.add_section('BLACS/plugins')

modules = {}
for module_name in os.listdir(PLUGINS_DIR):
    if os.path.isdir(os.path.join(
            PLUGINS_DIR, module_name)) and module_name != '__pycache__':
        # is it a new plugin?
        # If so lets add it to the config
        if not module_name in [
                name for name, val in exp_config.items('BLACS/plugins')
        ]:
            exp_config.set('BLACS/plugins', module_name,
                           str(module_name in default_plugins))

        # only load activated plugins
        if exp_config.getboolean('BLACS/plugins', module_name):
            try:
                module = importlib.import_module('blacs.plugins.' +
                                                 module_name)
            except Exception:
                logger.exception('Could not import plugin \'%s\'. Skipping.' %
                                 module_name)
            else:
                modules[module_name] = module
示例#2
0
                if name in plugin_callbacks:
                    callbacks.append(plugin_callbacks[name])
        except Exception as e:
            logger.exception('Error getting callbacks from %s.' % str(plugin))
            
    # Sort all callbacks by priority:
    callbacks.sort(key=lambda callback: getattr(callback, 'priority', DEFAULT_PRIORITY))
    return callbacks


exp_config = LabConfig()
if not exp_config.has_section('BLACS/plugins'):
    exp_config.add_section('BLACS/plugins')

modules = {}
for module_name in os.listdir(PLUGINS_DIR):
    if os.path.isdir(os.path.join(PLUGINS_DIR, module_name)) and module_name != '__pycache__':
        # is it a new plugin?
        # If so lets add it to the config
        if not module_name in [name for name, val in exp_config.items('BLACS/plugins')]:
            exp_config.set('BLACS/plugins', module_name, str(module_name in default_plugins))

        # only load activated plugins
        if exp_config.getboolean('BLACS/plugins', module_name):
            try:
                module = importlib.import_module('blacs.plugins.'+module_name)
            except Exception:
                logger.exception('Could not import plugin \'%s\'. Skipping.'%module_name)
            else:
                modules[module_name] = module