本文整理汇总了Python中yapsy.PluginManager.PluginManager.setPluginPlaces方法的典型用法代码示例。如果您正苦于以下问题:Python PluginManager.setPluginPlaces方法的具体用法?Python PluginManager.setPluginPlaces怎么用?Python PluginManager.setPluginPlaces使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类yapsy.PluginManager.PluginManager
的用法示例。
在下文中一共展示了PluginManager.setPluginPlaces方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getBankRates
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [as 别名]
def getBankRates():
# Load the plugins from the plugin directory.
manager = PluginManager()
# Server
# manager.setPluginPlaces(["./dev/liborWatch/server/plugins"])
# Dev
# manager.setPluginPlaces(["./plugins"])
# Local
manager.setPluginPlaces(["./dev/NextLevelApps/liborWatch/server/plugins"])
manager.collectPlugins()
today = datetime.date.today().strftime('%Y-%m-%d')
# Loop round the plugins and get the bank rates
for plugin in manager.getAllPlugins():
rates = plugin.plugin_object.getRates()
print(rates);
if(len(rates) != 10):
print('Error: We did not get 10 rates from the plugin ' + plugin.name + ' - ' + str(len(rates)))
return
newRate = []
iCnt = 0;
for rate in rates:
iCnt = iCnt + 1
newRate.append((plugin.name, today, iCnt, rate))
# print('execute insert statement ' + plugin.name, str(today), str(iCnt), str(rate))
con = sqlite3.connect('liborWatch.sqlite')
with con:
cur = con.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS BankRate(id INTEGER PRIMARY KEY, bankName TEXT, date TEXT, fixedForYears INTEGER, rate REAL)")
cur.executemany("INSERT INTO BankRate VALUES(NULL, ?, ?, ?, ?)", newRate)
示例2: main
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [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)
示例3: group_dashboard
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [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))
示例4: test_updatePluginPlaces
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [as 别名]
def test_updatePluginPlaces(self):
class SpecificLocator(IPluginLocator):
pass
pm = PluginManager()
pm.setPluginPlaces(["bla/bli"])
pm.updatePluginPlaces(["mif/maf"])
self.assertEqual(set(["bla/bli","mif/maf"]),set(pm.getPluginLocator().plugins_places))
示例5: load_plugins
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [as 别名]
def load_plugins(cls):
manager = PluginManager()
manager.setPluginPlaces([os.path.join(os.getcwd(), "plugins/")])
manager.collectPlugins()
ret = manager.getAllPlugins()
logger.info('Loaded {} plugins'.format(len(ret)))
return ret
示例6: AlgorithmManager
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [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__"))
示例7: run
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [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()
示例8: FakeSite
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [as 别名]
class FakeSite(object):
def __init__(self):
self.template_system = self
self.config = {"DISABLED_PLUGINS": [], "EXTRA_PLUGINS": [], "DEFAULT_LANG": "en"}
self.EXTRA_PLUGINS = self.config["EXTRA_PLUGINS"]
self.plugin_manager = PluginManager(
categories_filter={
"Command": Command,
"Task": Task,
"LateTask": LateTask,
"TemplateSystem": TemplateSystem,
"PageCompiler": PageCompiler,
"TaskMultiplier": TaskMultiplier,
"RestExtension": RestExtension,
}
)
self.loghandlers = [STDERR_HANDLER]
self.plugin_manager.setPluginInfoExtension("plugin")
if sys.version_info[0] == 3:
places = [os.path.join(os.path.dirname(utils.__file__), "plugins")]
else:
places = [os.path.join(os.path.dirname(utils.__file__), utils.sys_encode("plugins"))]
self.plugin_manager.setPluginPlaces(places)
self.plugin_manager.collectPlugins()
self.timeline = [FakePost(title="Fake post", slug="fake-post")]
def render_template(self, name, _, context):
return '<img src="IMG.jpg">'
示例9: ProfilesManager
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [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
示例10: loadPlugins
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [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
示例11: __run_reporting_generator
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [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
示例12: collect_data
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [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))
示例13: FurnivallApplication
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [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)
示例14: FakeSite
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [as 别名]
class FakeSite(object):
def __init__(self):
self.template_system = self
self.config = {
'DISABLED_PLUGINS': [],
'EXTRA_PLUGINS': [],
}
self.EXTRA_PLUGINS = self.config['EXTRA_PLUGINS']
self.plugin_manager = PluginManager(categories_filter={
"Command": Command,
"Task": Task,
"LateTask": LateTask,
"TemplateSystem": TemplateSystem,
"PageCompiler": PageCompiler,
"TaskMultiplier": TaskMultiplier,
"RestExtension": RestExtension,
})
self.plugin_manager.setPluginInfoExtension('plugin')
if sys.version_info[0] == 3:
places = [
os.path.join(os.path.dirname(utils.__file__), 'plugins'),
]
else:
places = [
os.path.join(os.path.dirname(utils.__file__), utils.sys_encode('plugins')),
]
self.plugin_manager.setPluginPlaces(places)
self.plugin_manager.collectPlugins()
def render_template(self, name, _, context):
return('<img src="IMG.jpg">')
示例15: runCrawler
# 需要导入模块: from yapsy.PluginManager import PluginManager [as 别名]
# 或者: from yapsy.PluginManager.PluginManager import setPluginPlaces [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