本文整理汇总了Python中yapsy.PluginManager.PluginManager类的典型用法代码示例。如果您正苦于以下问题:Python PluginManager类的具体用法?Python PluginManager怎么用?Python PluginManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PluginManager类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: FurnivallApplication
class FurnivallApplication(tornado.web.Application):
def __init__(self):
"""
Sets up the Tornado web server and loads all the init data
"""
# Init mongodb database
self.dbconnection = Connection()
self.db = self.dbconnection['furnivall']
# Init plugins
self.plugin_manager = PluginManager()
self.plugin_manager.setPluginPlaces(["./plugins"])
self.plugin_manager.collectPlugins()
print "Loaded plugins:"
for plugin_info in self.plugin_manager.getAllPlugins():
print ' * ' + plugin_info.name
# Init routes
urls = [
] + Route.routes()
settings = dict(
static_path = os.path.join(data_dir, "static"),
template_path = os.path.join(data_dir, "templates"),
xsrf_cookies = False,
cookie_secret = "11oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1ao/Vo=",
)
tornado.web.Application.__init__(self, urls, **settings)
开发者ID:Ibercivis,项目名称:Furnivall,代码行数:29,代码来源:FurnivallApplication.py
示例2: load_plugins
def load_plugins(parser, logger=None):
"""Load all plugins"""
# import yapsy if needed
try:
from yapsy.PluginManager import PluginManager
except ImportError:
parser.exit(status=3, message='PASTA plugins require yapsy.\n'
'See README file for more informations.\n'
'Alternatively, use the option --no-plugins to disable the'
' plugins\n')
from plugins import SingleConnectionAnalyser, \
InterConnectionsAnalyser
# create the plugin manager
plugin_manager = PluginManager(
categories_filter={
'SingleConnectionAnalyser': SingleConnectionAnalyser,
'InterConnectionsAnalyser': InterConnectionsAnalyser
},
directories_list = [os.path.join(os.path.dirname(sys.argv[0]),
'plugins')],
plugin_info_ext='plugin')
plugin_manager.locatePlugins()
def load_plugin(plugin):
"""A plugin is being loaded"""
if logger is not None:
logger.info('...plugin %s v.%s'
% (plugin.name, plugin.version))
plugin_manager.loadPlugins(load_plugin)
return plugin_manager
开发者ID:carriercomm,项目名称:PASTA,代码行数:29,代码来源:pasta.py
示例3: __init__
def __init__(self, cfg_p, registry,
categories_filter={"Default":IPlugin},
directories_list=None,
plugin_info_ext="yapsy-plugin"):
PluginManager.__init__(self, categories_filter, directories_list, plugin_info_ext)
self.setPluginInfoClass(EmpAttachmentInfo)
self.config = cfg_p
self.registry = registry
开发者ID:dstar4138,项目名称:emp_draft,代码行数:8,代码来源:VariablePluginManager.py
示例4: init_manager
def init_manager():
anl = PluginFileAnalyzerMathingRegex('custom_res_handler_plugins', r'^[A-Za-z0-9]+\.py$')
res = PluginFileLocator(plugin_info_cls=CFCustomResourceHandler)
res.setAnalyzers([anl])
manager = PluginManager(plugin_locator=res, categories_filter={'CFHandlers' : CFCustomResourceHandler})
manager.setPluginPlaces([dirname(__file__) + '/plugins'])
manager.collectPlugins()
return manager
开发者ID:cotdsa,项目名称:sulphur,代码行数:8,代码来源:handler.py
示例5: init_plugin_manager
def init_plugin_manager():
global simplePluginManager
if not holder.plugin_manager:
logging.debug('init plugin manager')
simplePluginManager = PluginManager(categories_filter={"bots": BotPlugin})
simplePluginManager.setPluginInfoExtension('plug')
holder.plugin_manager = simplePluginManager
else:
simplePluginManager = holder.plugin_manager
开发者ID:TheDrone,项目名称:err,代码行数:10,代码来源:plugin_manager.py
示例6: init_plugin_manager
def init_plugin_manager():
global simplePluginManager
if not holder.plugin_manager:
logging.info("init plugin manager")
simplePluginManager = PluginManager(categories_filter={"bots": BotPlugin})
simplePluginManager.setPluginInfoExtension("plug")
holder.plugin_manager = simplePluginManager
else:
simplePluginManager = holder.plugin_manager
开发者ID:arrrrr,项目名称:err,代码行数:10,代码来源:plugin_manager.py
示例7: collect_data
def collect_data(self, **kwargs):
self.logger.info("Begin collect_data")
simplePluginManager = PluginManager()
logging.getLogger('yapsy').setLevel(logging.DEBUG)
simplePluginManager.setCategoriesFilter({
"DataCollector": data_collector_plugin
})
# Tell it the default place(s) where to find plugins
self.logger.debug("Plugin directories: %s" % (kwargs['data_collector_plugin_directories']))
simplePluginManager.setPluginPlaces(kwargs['data_collector_plugin_directories'])
simplePluginManager.collectPlugins()
plugin_cnt = 0
plugin_start_time = time.time()
for plugin in simplePluginManager.getAllPlugins():
self.logger.info("Starting plugin: %s" % (plugin.name))
if plugin.plugin_object.initialize_plugin(details=plugin.details):
plugin.plugin_object.start()
else:
self.logger.error("Failed to initialize plugin: %s" % (plugin.name))
plugin_cnt += 1
#Wait for the plugings to finish up.
self.logger.info("Waiting for %d plugins to complete." % (plugin_cnt))
for plugin in simplePluginManager.getAllPlugins():
plugin.plugin_object.join()
self.logger.info("%d Plugins completed in %f seconds" % (plugin_cnt, time.time() - plugin_start_time))
开发者ID:DanRamage,项目名称:commonfiles,代码行数:30,代码来源:wq_prediction_engine.py
示例8: AlgorithmManager
class AlgorithmManager():
def __init__(self):
self._pluginManager = PluginManager()
self._pluginManager.setPluginPlaces(config.PLUGIN_DIR)
self._pluginManager.collectPlugins()
for pluginInfo in self._pluginManager.getAllPlugins():
self._pluginManager.activatePluginByName(pluginInfo.name)
def get_alg_names(self):
for plugin in self._pluginManager.getAllPlugins():
plugin.plugin_object.print_name()
def execute_calc(self, data):
run = []
if not self.__is_sequence(data):
raise Exception('Data is no array!')
for alg in self._pluginManager.getAllPlugins():
result, prop = alg.plugin_object.calc(data)
run.append({alg.name : (result, prop)})
return run
def __is_sequence(self, arg):
return (not hasattr(arg, "strip") and
hasattr(arg, "__getitem__") or
hasattr(arg, "__iter__"))
开发者ID:Schille,项目名称:StockTrader,代码行数:26,代码来源:AlgorithmManager.py
示例9: ProfilesManager
class ProfilesManager(object):
def __init__(self):
self.plugin_location = [PROFILE_MODULE_DIR]
self.pluginManager = PluginManager(plugin_info_ext="plugin")
self.pluginManager.setPluginPlaces(self.plugin_location)
self.pluginManager.collectPlugins()
def modules_info(self):
"""
Get information with regards to each modules loaded. It includes author, category, copyright, description,
details, name, version and website.
:return: information of all modules loaded
"""
modules_info = {}
for pluginInfo in self.pluginManager.getAllPlugins():
modules_info[pluginInfo.name] = pluginInfo
return modules_info
def configForms(self, device_serial, module_name=""):
"""
Get the configuration views of each modules to be displayed on web interface
:return: dictionary of pluginInfo as key and form as value
"""
if module_name:
plugin = self.pluginManager.getPluginByName(name=module_name)
configForms = plugin.plugin_object.get_view()
else:
configForms = {}
for pluginInfo in self.pluginManager.getAllPlugins():
form = pluginInfo.plugin_object.get_view()
configForms[pluginInfo] = form
return configForms
def run_simulation(self,option, profile_name, duration, device_serial, package_name, session):
"""
Run profile simulation script
:return:
"""
plugin = self.pluginManager.getPluginByName(name=profile_name)
if option == RANDOM_INTERACTION:
plugin.plugin_object.runSimulation(duration,package_name, random=True, device_serial=device_serial, session=session)
elif option == SCRIPTED_PROFILE_INTERACTION:
plugin.plugin_object.runSimulation(duration,package_name, random=False, device_serial=device_serial, session=session)
def setup_device(self,module, params, device_serial):
"""
install profile apk and profile app data onto device
:return:
"""
pluginInfo = self.pluginManager.getPluginByName(name=module)
if pluginInfo.name == module:
pluginInfo.plugin_object.prepare(params, device_serial)
return True
开发者ID:WhySoGeeky,项目名称:DroidPot,代码行数:60,代码来源:plugin.py
示例10: testCategoryManipulation
def testCategoryManipulation(self):
"""
Test querying, removing and adding plugins from/to a category.
"""
spm = PluginManager(directories_list=[
os.path.join(
os.path.dirname(os.path.abspath(__file__)),"plugins")])
# load the plugins that may be found
spm.collectPlugins()
# check that the getCategories works
self.assertEqual(len(spm.getCategories()),1)
开发者ID:markfickett,项目名称:yapsy,代码行数:11,代码来源:test_SimplePlugin.py
示例11: __init__
def __init__( self ):
QObject.__init__( self )
PluginManager.__init__( self, None,
[ settingsDir + "plugins",
"/usr/share/codimension-plugins" ],
"cdmp" )
self.inactivePlugins = {} # Categorized inactive plugins
self.activePlugins = {} # Categorized active plugins
self.unknownPlugins = [] # Unknown plugins
return
开发者ID:eaglexmw,项目名称:codimension,代码行数:11,代码来源:pluginmanager.py
示例12: start_baseline
def start_baseline(request):
manager = PluginManager()
plugin_name = request.data["plugin_name"]
plugin = manager.getPluginByName(plugin_name)
board = bci.OpenBCIBoard(port=args.port,
daisy=args.daisy,
filter_data=args.filtering,
scaled_output=True,
log=args.log)
if (plugin_name == "packets_to_csv"):
plugin.plugin_object.pre_activate({}, sample_rate=board.getSampleRate(), eeg_channels=board.getNbEEGChannels(), aux_channels=board.getNbAUXChannels())
开发者ID:neurotechuoft,项目名称:hack_the_brain_2016,代码行数:11,代码来源:views.py
示例13: __init__
def __init__(self,
categories_filter=None,
directories_list=None,
plugin_info_ext=None,
plugin_locator=None):
if categories_filter is None:
categories_filter = {"Default": IMultiprocessChildPlugin}
PluginManager.__init__(self,
categories_filter=categories_filter,
directories_list=directories_list,
plugin_info_ext=plugin_info_ext,
plugin_locator=plugin_locator)
开发者ID:adityacandra02,项目名称:qark,代码行数:12,代码来源:MultiprocessPluginManager.py
示例14: test_setPluginInfoClass_with_strategies
def test_setPluginInfoClass_with_strategies(self):
class SpecificPluginInfo(PluginInfo):
pass
class SpecificLocator(IPluginLocator):
def setPluginInfoClass(self,cls,name):
if not hasattr(self,"icls"):
self.icls = {}
self.icls[name] = cls
loc = SpecificLocator()
pm = PluginManager(plugin_locator=loc)
pm.setPluginInfoClass(SpecificPluginInfo,["mouf","hop"])
self.assertEqual({"mouf":SpecificPluginInfo,"hop":SpecificPluginInfo},loc.icls)
开发者ID:PGower,项目名称:yapsy,代码行数:12,代码来源:test_PluginFileLocator.py
示例15: loadPlugins
def loadPlugins(self, callback = None):
PluginManager.loadPlugins(self, callback)
for pluginCategory in self.category_mapping.itervalues():
for plugin in pluginCategory:
name = os.path.basename(plugin.path)
plugin.plugin_object.logger = logging.getLogger('IslandoraListener.' + name)
initialized = plugin.plugin_object.initialize(plugin.config_parser)
delattr(plugin, 'config_parser')
if initialized:
logging.debug('Initialized %s' % name)
else:
logging.debug('Failed to initialize %s' % name)
pluginCategory.remove(plugin)
开发者ID:alxp,项目名称:fedora_microservices,代码行数:13,代码来源:plugin_manager.py
示例16: __init__
def __init__(self):
directory = os.path.dirname(os.path.abspath(__file__))
PluginManager.__init__(
self,
directories_list=[os.path.join(directory, 'analyzers'), os.path.join(directory, 'transcoders'), os.path.join(directory, 'repositories')],
categories_filter={
"Analyzer": IAnalyzer,
"Transcoder": ITranscoder,
"MetaDataStore": IMetaDataStore,
"Repository": IRepository,
},
plugin_info_ext=('analyzer', 'transcoder', 'repository',)
)
开发者ID:induane,项目名称:damn-at,代码行数:13,代码来源:pluginmanager.py
示例17: main
def main():
# Load and register all plugins
manager = PluginManager( directories_list = directories )
manager.collectPlugins()
plugins = manager.getAllPlugins()
plugins.sort( plugin_sort )
for plugin in plugins:
register_plugin( plugin )
# parse arguments and evaluate the current template
args = parser.parse_args()
template = templates[ args.which ]
template.do_work( args , default_replacements )
开发者ID:headmyshoulder,项目名称:stuff,代码行数:14,代码来源:code_template.py
示例18: run_output_plugins
def run_output_plugins(**kwargs):
logger = logging.getLogger(__name__)
logger.info("Begin run_output_plugins")
simplePluginManager = PluginManager()
logging.getLogger('yapsy').setLevel(logging.DEBUG)
simplePluginManager.setCategoriesFilter({
"OutputResults": output_plugin
})
# Tell it the default place(s) where to find plugins
if logger:
logger.debug("Plugin directories: %s" % (kwargs['output_plugin_directories']))
simplePluginManager.setPluginPlaces(kwargs['output_plugin_directories'])
simplePluginManager.collectPlugins()
plugin_cnt = 0
plugin_start_time = time.time()
for plugin in simplePluginManager.getAllPlugins():
if logger:
logger.info("Starting plugin: %s" % (plugin.name))
if plugin.plugin_object.initialize_plugin(details=plugin.details):
plugin.plugin_object.emit(prediction_date=kwargs['prediction_date'].astimezone(timezone("US/Eastern")).strftime("%Y-%m-%d %H:%M:%S"),
execution_date=kwargs['prediction_run_date'].strftime("%Y-%m-%d %H:%M:%S"),
ensemble_tests=kwargs['site_model_ensemble'])
plugin_cnt += 1
else:
logger.error("Failed to initialize plugin: %s" % (plugin.name))
logger.debug("%d output plugins run in %f seconds" % (plugin_cnt, time.time() - plugin_start_time))
logger.info("Finished run_output_plugins")
开发者ID:DanRamage,项目名称:MyrtleBeach-Water-Quality,代码行数:31,代码来源:mb_wq_prediction_engine.py
示例19: run
def run():
logging.basicConfig(level=logging.INFO)
os.chdir('/home/mjolnir/git/PURIKURA')
# H A N D L E P L U G I N S
pm = PluginManager()
pm.setPluginPlaces(['./pyrikura/plugins'])
pm.collectPlugins()
for pi in pm.getAllPlugins():
logging.info('loading plugin %s', pi.name)
pm.activatePluginByName(pi.name)
brokers = {}
nodes = build()
head = nodes[0]
for node in nodes:
brokers[node] = node.load(pm)
for node, broker in brokers.items():
for other in node._listening:
broker.subscribe(brokers[other])
start = time.time()
last_time = 0
shots = 0
last_trigger = 0
for broker in itertools.cycle(brokers.values()):
broker.update()
开发者ID:ikol,项目名称:PURIKURA,代码行数:31,代码来源:pbtether.py
示例20: main
def main():
# Read configuration
config = SafeConfigParser(
defaults = {'port':'15915',
'plugins_directory':'./plugins',
'plugins_enabled':'',
})
config.read(['./conf/cm15d.conf',
'/etc/cm15d.conf',
'/etc/cm15d/cm15d.conf',
'/etc/cm15d/conf.d/local.conf',
])
# Activate enabled plugins
plugins = PluginManager()
plugins.setPluginPlaces(config.get('cm15d', 'plugins_directory').split(','))
plugins.collectPlugins()
plugins_enabled = config.get('cm15d', 'plugins_enabled').split(',')
for plugin in plugins.getAllPlugins():
if plugin.name in plugins_enabled:
plugins.activatePluginByName(plugin.name)
print("Plugin %s enabled" % plugin.name)
# Start server
port = int(config.get('cm15d', 'port'))
endpoint = TCP4ServerEndpoint(reactor, port)
endpoint.listen(CM15DaemonFactory(plugins))
print("Server listening on port %s" % port)
reactor.run()
开发者ID:jfhovinne,项目名称:pycm15,代码行数:30,代码来源:cm15d.py
注:本文中的yapsy.PluginManager.PluginManager类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论