当前位置: 首页>>代码示例>>Python>>正文


Python PluginManager.getAllPlugins方法代码示例

本文整理汇总了Python中yapsy.PluginManager.PluginManager.getAllPlugins方法的典型用法代码示例。如果您正苦于以下问题:Python PluginManager.getAllPlugins方法的具体用法?Python PluginManager.getAllPlugins怎么用?Python PluginManager.getAllPlugins使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在yapsy.PluginManager.PluginManager的用法示例。


在下文中一共展示了PluginManager.getAllPlugins方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: loadPlugins

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
def loadPlugins(root_folder, plugin_name, categories_filter):
  from yapsy.PluginManager import PluginManager

  plugin_dirs = []
  plugin_dirs.append(configuration.fabfile_basedir + '/.fabalicious/plugins')
  plugin_dirs.append(expanduser("~") + '/.fabalicious/plugins')
  plugin_dirs.append(root_folder + '/plugins')

  log.debug("Looking for %s-plugins in %s" % (plugin_name, ", ".join(plugin_dirs)))

  manager = PluginManager()
  manager.setPluginPlaces(plugin_dirs)
  manager.setCategoriesFilter(categories_filter)
  manager.collectPlugins()

  # Activate all loaded plugins
  for pluginInfo in manager.getAllPlugins():
    manager.activatePluginByName(pluginInfo.name)

  result = {}
  for plugin in manager.getAllPlugins():

    if hasattr(plugin.plugin_object, 'aliases') and isinstance(plugin.plugin_object.aliases, list):
      for alias in plugin.plugin_object.aliases:
        result[alias] = plugin.plugin_object
    elif hasattr(plugin.plugin_object, 'alias'):
      result[plugin.plugin_object.alias] = plugin.plugin_object
    else:
      result[plugin.name] = plugin.plugin_object
  return result
开发者ID:factorial-io,项目名称:fabalicious,代码行数:32,代码来源:__init__.py

示例2: ProfilesManager

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
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,代码行数:62,代码来源:plugin.py

示例3: loadPlugins

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
def loadPlugins(pluginfldr,hivesdict):
    """
    Enumerate plugins in the specified directory and return the populated
    plugin manager and a list of the compatible plugins. Compatibility is
    determined by checking if the required hives were loaded sucessfully.
    """
    pluginmanager = PluginManager()
    pluginmanager.setPluginPlaces([pluginfldr])
    pluginmanager.collectPlugins()

    print ""
    logging.info("[PLUGINS IDENTIFIED: %s]" % len(pluginmanager.getAllPlugins()))

    compat_plugins = list()
    incompat_plugins = list()
    for plugin in pluginmanager.getAllPlugins():
        compat = 1
        for req in plugin.plugin_object.getRequirements():
            if (hivesdict[req][0] <> 1):
                compat = 0
                break
        if compat:
            compat_plugins.append(plugin.name)
        else:
            incompat_plugins.append(plugin.name)

    logging.info(" [%s] Compatible Plugins:" % len(compat_plugins))
    for plugin in compat_plugins:
        logging.info("  - %s" % plugin)
    logging.info(" [%s] Incompatible Plugins:" % len(incompat_plugins))
    for plugin in incompat_plugins:
        logging.info("  - %s" % plugin)

    return pluginmanager, compat_plugins
开发者ID:NotionalLabs,项目名称:ForReg,代码行数:36,代码来源:ForReg.py

示例4: AlgorithmManager

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
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,代码行数:28,代码来源:AlgorithmManager.py

示例5: collect_data

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
  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,代码行数:32,代码来源:wq_prediction_engine.py

示例6: test_plugin_locator_with_manager

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
    def test_plugin_locator_with_manager(self):
        """Test cases for plugin locator.

        Uses custom PluginLocator inside PluginManager.
        """
        from drop.plugins import DropPluginLocator
        from yapsy.PluginManager import PluginManager

        pm = PluginManager(plugin_locator=DropPluginLocator())

        # TODO: Create some dummy plugins to be found

        pm.collectPlugins()
        pm.getAllPlugins()
开发者ID:infant-cognition-tampere,项目名称:drop,代码行数:16,代码来源:test_plugins.py

示例7: disabled_plugins

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
def disabled_plugins(plugin_kind='main'):
    enabled_plugins = Plugin.objects.all()
    # Build the manager
    manager = PluginManager()
    # Tell it the default place(s) where to find plugins
    manager.setPluginPlaces([settings.PLUGIN_DIR, os.path.join(settings.PROJECT_DIR, 'server/plugins')])
    # Load all plugins
    manager.collectPlugins()
    output = []

    if plugin_kind == 'main':
        for plugin in manager.getAllPlugins():
            try:
                plugin_type = plugin.plugin_object.plugin_type()
            except:
                plugin_type = 'builtin'
            if plugin_type != 'report':
                try:
                    item = Plugin.objects.get(name=plugin.name)
                except Plugin.DoesNotExist:
                    output.append(plugin.name)

    if plugin_kind == 'report':
        for plugin in manager.getAllPlugins():
            try:
                plugin_type = plugin.plugin_object.plugin_type()
            except:
                plugin_type = 'builtin'

            if plugin_type == 'report':
                try:
                    item = Report.objects.get(name=plugin.name)
                except Report.DoesNotExist:
                    output.append(plugin.name)

    if plugin_kind == 'machine_detail':
        for plugin in manager.getAllPlugins():
            try:
                plugin_type = plugin.plugin_object.plugin_type()
            except:
                plugin_type = 'builtin'

            if plugin_type == 'machine_detail':
                try:
                    item = MachineDetailPlugin.objects.get(name=plugin.name)
                except MachineDetailPlugin.DoesNotExist:
                    output.append(plugin.name)

    return output
开发者ID:erikng,项目名称:sal,代码行数:51,代码来源:utils.py

示例8: run

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
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,代码行数:33,代码来源:pbtether.py

示例9: get_plugins

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
def get_plugins():
 
    plugin_analyzer = PluginFileAnalyzerWithInfoFile(name="torrentstausanalyzer", extensions="plugin-manifest")
    plugin_locator = PluginFileLocator(analyzers=[plugin_analyzer])

    extra_plugins_dir = config.getSettingsAsDict()["extra_plugins_dir"]
    plugin_extras = os.path.join(get_config_dir(), extra_plugins_dir)

    directories = [os.path.join(os.path.dirname(os.path.realpath(__file__)), "plugins")]

    ##
    ## Allow user defined plugins
    ## These plugins should be named as
    ## name.function.{py, plugin-manifest}
    ## Example:
    ## MyPlugin.onstart.py
    ## MyPlguin.onstart.plugin-manifest
    ##
    if os.path.exists(plugin_extras):
        directories.append(plugin_extras)

    manager = PluginManager(directories_list=directories, plugin_locator=plugin_locator)
    manager.collectPlugins()
    plugins = manager.getAllPlugins()

    # Activate all loaded plugins
    for pluginInfo in plugins:
        manager.activatePluginByName(pluginInfo.name)
    return plugins
开发者ID:dabear,项目名称:torrentstatus,代码行数:31,代码来源:handle_status_change.py

示例10: __run_reporting_generator

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
 def __run_reporting_generator(self):
             
     # options
     options = dict()
     
     # Build the PluginManager
     reportingPluginManager = PluginManager()
     reportingPluginManager.setPluginPlaces(["reporting"])
     reportingPluginManager.collectPlugins()
     
     # Trigger run from the "Reporting" plugins
     for pluginInfo in sorted(reportingPluginManager.getAllPlugins(), key=lambda PluginInfo: PluginInfo.name):
         reportingModulG = pluginInfo.plugin_object
         reportingModulG.set_task(self.task)
         
         # Give it the the relevant reporting.conf section.
         try:
             options = self.cfgReporting.get(pluginInfo.name)
             reportingModulG.set_options(options)
         except Exception:
             log.error("Reporting module %s not found in configuration file", pluginInfo.name)  
             
         # If the processing module is disabled in the config, skip it.
         if not options.enabled:
             continue
         
         log.debug("Run Reporting: " + pluginInfo.name)
         
         yield reportingModulG
开发者ID:Beercow,项目名称:malware-crawler,代码行数:31,代码来源:worker.py

示例11: _run_reporting

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
 def _run_reporting(self, results, objfile):
     #options
     options = dict()
     
     # Build the PluginManager
     reportingPluginManager = PluginManager()
     reportingPluginManager.setPluginPlaces(["reporting"])
     reportingPluginManager.collectPlugins()
     
     # Trigger run from the "Reporting" plugins
     for pluginInfo in reportingPluginManager.getAllPlugins():
         reportingModul = pluginInfo.plugin_object
         reportingModul.set_task(self.task)
         
         # Give it the the relevant reporting.conf section.
         try:
             options = self.cfgReporting.get(pluginInfo.name)
             reportingModul.set_options(options)
         except Exception:
             log.error("Reporting module %s not found in configuration file", pluginInfo.name)  
             
         # If the processing module is disabled in the config, skip it.
         if not options.enabled:
             continue
         
         log.debug("Run Reporting: " + pluginInfo.name)
         
         try:
             # Run the Reporting module
             reportingModul.run(results, objfile)
         except Exception as e:
             log.exception("Failed to run the reporting module \"%s\":",
                           reportingModul.__class__.__name__)
开发者ID:foreni-packages,项目名称:ragpicker_v0.05.2,代码行数:35,代码来源:worker.py

示例12: runCrawler

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
def runCrawler():
	mapURL = {}
	cfgCrawler = Config(os.path.join(RAGPICKER_ROOT, 'config', 'crawler.conf'))	
	
	# Build the PluginManager
	crawlerPluginManager = PluginManager()
	crawlerPluginManager.setPluginPlaces(["crawler"])
	crawlerPluginManager.collectPlugins()
	
	# Trigger run from the "Crawler" plugins
	for pluginInfo in sorted(crawlerPluginManager.getAllPlugins(), key=lambda PluginInfo: PluginInfo.name):
		crawlerModul = pluginInfo.plugin_object
		
		# Config for crawler module
		try:
			options = cfgCrawler.get(pluginInfo.name)
			crawlerModul.set_options(options)
		except Exception:
			log.error("Crawler module %s not found in configuration file", pluginInfo.name)  
			
		# If the crawler module is disabled in the config, skip it.
		if not options.enabled:
			continue
		
		try:
			log.debug("Run Crawler: " + pluginInfo.name)
			returnMap = crawlerModul.run()
			mapURL.update(returnMap)
		except Exception as e:
			log.error('Error (%s) in %s', e, pluginInfo.name)
	
	return mapURL
开发者ID:Beercow,项目名称:malware-crawler,代码行数:34,代码来源:ragpicker.py

示例13: group_dashboard

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
def group_dashboard(request, group_id):
    # check user is allowed to access this
    user = request.user
    config_installed = 'config' in settings.INSTALLED_APPS
    user_level = user.userprofile.level
    machine_group = get_object_or_404(MachineGroup, pk=group_id)
    business_unit = machine_group.business_unit
    if business_unit not in user.businessunit_set.all():
        if user_level != 'GA':
            return redirect(index)
    if user_level == 'GA' or user_level == 'RW':
        is_editor = True
    else:
        is_editor = False
    machines = machine_group.machine_set.all()
    # Build the manager
    manager = PluginManager()
    # Tell it the default place(s) where to find plugins
    manager.setPluginPlaces([settings.PLUGIN_DIR, os.path.join(settings.PROJECT_DIR, 'server/plugins')])
    # Load all plugins
    manager.collectPlugins()
    output = []
    for plugin in manager.getAllPlugins():
        data = {}
        data['name'] = plugin.name
        (data['html'], data['width']) = plugin.plugin_object.show_widget('group_dashboard', machines, machine_group.id)
        output.append(data)
    output = utils.orderPluginOutput(output, 'group_dashboard', machine_group.id)
    c = {'user': request.user, 'machine_group': machine_group, 'user_level': user_level,  'is_editor': is_editor, 'business_unit': business_unit, 'output':output, 'config_installed':config_installed, 'request':request}
    return render_to_response('server/group_dashboard.html', c, context_instance=RequestContext(request))
开发者ID:ninjabong,项目名称:sal,代码行数:32,代码来源:views.py

示例14: FurnivallApplication

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
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,代码行数:31,代码来源:FurnivallApplication.py

示例15: main

# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import getAllPlugins [as 别名]
def main():
    parser = argparse.ArgumentParser(description='Validates file format')
    parser.add_argument('files', nargs='+',
                        help='files to be validated')
    parser.add_argument('--verbose', action='store_true',
                        default=False,
                        help='Shows help about validation')

    args = parser.parse_args()

    simplePluginManager = PluginManager()
    simplePluginManager.setPluginPlaces(["plugins"])
    simplePluginManager.collectPlugins()

    for filename in args.files:
        supported = False
        for plugin in simplePluginManager.getAllPlugins():
            methods = plugin.plugin_object
            if methods.should_manage(filename):
                supported = True
                try:
                    plugin.plugin_object.validate(filename)
                    print('%s sintax ok for %s' % (filename, plugin.name))
                    break
                except Exception as e:
                    print('Invalid file %s for %s' % (filename, plugin.name))
                    if args.verbose:
                        print(e)
        if not supported:
            print('%s cannot be validated' % filename)
开发者ID:magmax,项目名称:validator,代码行数:32,代码来源:validator.py


注:本文中的yapsy.PluginManager.PluginManager.getAllPlugins方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。