本文整理汇总了Python中yapsy.log.debug函数的典型用法代码示例。如果您正苦于以下问题:Python debug函数的具体用法?Python debug怎么用?Python debug使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了debug函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: getPluginNameAndModuleFromStream
def getPluginNameAndModuleFromStream(self, infoFileObject, candidate_infofile=None):
"""
Extract the name and module of a plugin from the
content of the info file that describes it and which
is stored in ``infoFileObject``.
.. note:: Prefer using ``_extractCorePluginInfo``
instead, whenever possible...
.. warning:: ``infoFileObject`` must be a file-like object:
either an opened file for instance or a string
buffer wrapped in a StringIO instance as another
example.
.. note:: ``candidate_infofile`` must be provided
whenever possible to get better error messages.
Return a 3-uple with the name of the plugin, its
module and the config_parser used to gather the core
data *in a tuple*, if the required info could be
localised, else return ``(None,None,None)``.
.. note:: This is supposed to be used internally by subclasses
and decorators.
"""
# parse the information buffer to get info about the plugin
config_parser = ConfigParser.SafeConfigParser()
try:
config_parser.readfp(infoFileObject)
except Exception,e:
log.debug("Could not parse the plugin file '%s' (exception raised was '%s')" % (candidate_infofile,e))
return (None, None, None)
开发者ID:abqwizard,项目名称:Pavilion,代码行数:32,代码来源:PluginFileLocator.py
示例2: __init__
def __init__(self, decorated_object=None,
# The following args will only be used if we need to
# create a default PluginManager
categories_filter=None,
directories_list=None,
plugin_info_ext="yapsy-plugin"):
"""
Mimics the PluginManager's __init__ method and wraps an
instance of this class into this decorator class.
- *If the decorated_object is not specified*, then we use the
PluginManager class to create the 'base' manager, and to do
so we will use the arguments: ``categories_filter``,
``directories_list``, and ``plugin_info_ext`` or their
default value if they are not given.
- *If the decorated object is given*, these last arguments are
simply **ignored** !
All classes (and especially subclasses of this one) that want
to be a decorator must accept the decorated manager as an
object passed to the init function under the exact keyword
``decorated_object``.
"""
if directories_list is None:
directories_list = [os.path.dirname(__file__)]
if categories_filter is None:
categories_filter = {"Default": IPlugin}
if decorated_object is None:
log.debug("Creating a default PluginManager instance to be decorated.")
from yapsy.PluginManager import PluginManager
decorated_object = PluginManager(categories_filter,
directories_list,
plugin_info_ext)
self._component = decorated_object
开发者ID:DanielGraef,项目名称:web-lights,代码行数:35,代码来源:PluginManagerDecorator.py
示例3: getPluginNameAndModuleFromStream
def getPluginNameAndModuleFromStream(self, infoFileObject,
candidate_infofile=None):
# parse the information buffer to get info about the plugin
config_parser = ConfigParser.SafeConfigParser()
try:
config_parser.readfp(infoFileObject)
except Exception, e:
log.debug(
"Could not parse the plugin file '%s' (exception raised was '%s')", # pylint: disable=line-too-long
candidate_infofile, e)
return (None, None)
开发者ID:dvc94ch,项目名称:smartclock,代码行数:11,代码来源:pluginfileanalyzerwithdocstring.py
示例4: removeAnalyzers
def removeAnalyzers(self, name):
"""
Removes analyzers of a given name.
"""
analyzersListCopy = self._analyzers[:]
foundAndRemoved = False
for obj in analyzersListCopy:
if obj.name == name:
self._analyzers.remove(obj)
foundAndRemoved = True
if not foundAndRemoved:
log.debug("'%s' is not a known strategy name: can't remove it." % name)
开发者ID:eaglexmw,项目名称:codimension,代码行数:12,代码来源:PluginFileLocator.py
示例5: activatePluginByName
def activatePluginByName(self,name,category="Default"):
"""
Activate a plugin corresponding to a given category + name.
"""
pta_item = self.getPluginByName(name,category)
if pta_item is not None:
plugin_to_activate = pta_item.plugin_object
if plugin_to_activate is not None:
log.debug("Activating plugin: %s.%s"% (category,name))
plugin_to_activate.activate()
return plugin_to_activate
return None
开发者ID:DanielGraef,项目名称:web-lights,代码行数:12,代码来源:PluginManager.py
示例6: deactivatePluginByName
def deactivatePluginByName(self,name,category="Default"):
"""
Desactivate a plugin corresponding to a given category + name.
"""
if category in self.category_mapping:
plugin_to_deactivate = None
for item in self.category_mapping[category]:
if item.name == name:
plugin_to_deactivate = item.plugin_object
break
if plugin_to_deactivate is not None:
log.debug("Deactivating plugin: %s.%s"% (category,name))
plugin_to_deactivate.deactivate()
return plugin_to_deactivate
return None
开发者ID:DanielGraef,项目名称:web-lights,代码行数:15,代码来源:PluginManager.py
示例7: __init__
def __init__(self, decorated_object=None,
# The following args will only be used if we need to
# create a default PluginManager
categories_filter=None,
directories_list=None,
plugin_info_ext="yapsy-plugin"):
if directories_list is None:
directories_list = [os.path.dirname(__file__)]
if categories_filter is None:
categories_filter = {"Default": IPlugin}
if decorated_object is None:
log.debug("Creating a default PluginManager instance to be decorated.")
from yapsy.PluginManager import PluginManager
decorated_object = PluginManager(categories_filter,
directories_list,
plugin_info_ext)
self._component = decorated_object
开发者ID:adityacandra02,项目名称:qark,代码行数:17,代码来源:PluginManagerDecorator.py
示例8: get
def get(self):
"""
Actually create an instance
"""
if self.__instance is None:
if self.__decoration_chain is not None:
# Get the object to be decorated
# print self.__decoration_chain
pm = self.__decoration_chain[0]()
for cls_item in self.__decoration_chain[1:]:
# print cls_item
pm = cls_item(decorated_manager=pm)
# Decorate the whole object
self.__instance = pm
else:
# initialise the 'inner' PluginManagerDecorator
self.__instance = PluginManager()
log.debug("PluginManagerSingleton initialised")
return self.__instance
开发者ID:DanielGraef,项目名称:web-lights,代码行数:19,代码来源:PluginManager.py
示例9: getInfosDictFromPlugin
def getInfosDictFromPlugin(self, dirpath, filename):
path = os.path.join(dirpath, filename)
key = "%s_get_docstring" % os.path.splitext(filename)[0]
log.debug(path)
module = None
infos = None, None
try:
module = imp.load_source(key, path)
docstring = module.__doc__
infos = PluginFileAnalyzerWithInfoFile.getInfosDictFromPlugin(
self, path, StringIO(docstring))
except Exception as e:
log.debug(e)
finally:
if not module is None:
del module
if key in sys.modules:
del sys.modules[key]
return infos
开发者ID:dvc94ch,项目名称:smartclock,代码行数:20,代码来源:pluginfileanalyzerwithdocstring.py
示例10: getPluginNameAndModuleFromStream
def getPluginNameAndModuleFromStream(self, infoFileObject, candidate_infofile=None):
"""
Extract the name and module of a plugin from the
content of the info file that describes it and which
is stored in ``infoFileObject``.
.. note:: Prefer using ``_extractCorePluginInfo``
instead, whenever possible...
.. warning:: ``infoFileObject`` must be a file-like object:
either an opened file for instance or a string
buffer wrapped in a StringIO instance as another
example.
.. note:: ``candidate_infofile`` must be provided
whenever possible to get better error messages.
Return a 3-uple with the name of the plugin, its
module and the config_parser used to gather the core
data *in a tuple*, if the required info could be
localised, else return ``(None,None,None)``.
.. note:: This is supposed to be used internally by subclasses
and decorators.
"""
# parse the information buffer to get info about the plugin
config_parser = ConfigParser()
try:
if is_py2:
config_parser.readfp(infoFileObject)
else:
config_parser.read_file(infoFileObject)
except Exception as e:
log.debug("Could not parse the plugin file '%s' (exception raised was '%s')" % (candidate_infofile,e))
return (None, None, None)
# check if the basic info is available
if not config_parser.has_section("Core"):
log.debug("Plugin info file has no 'Core' section (in '%s')" % candidate_infofile)
return (None, None, None)
if not config_parser.has_option("Core","Name") or not config_parser.has_option("Core","Module"):
log.debug("Plugin info file has no 'Name' or 'Module' section (in '%s')" % candidate_infofile)
return (None, None, None)
# check that the given name is valid
name = config_parser.get("Core", "Name")
name = name.strip()
if PLUGIN_NAME_FORBIDEN_STRING in name:
log.debug("Plugin name contains forbiden character: %s (in '%s')" % (PLUGIN_NAME_FORBIDEN_STRING,
candidate_infofile))
return (None, None, None)
return (name, config_parser.get("Core", "Module"), config_parser)
开发者ID:kstaniek,项目名称:yapsy,代码行数:50,代码来源:PluginFileLocator.py
示例11: setBehaviour
def setBehaviour(self,list_of_pmd):
"""
Set the functionalities handled by the plugin manager by
giving a list of ``PluginManager`` decorators.
This function shouldn't be called several time in a same
process, but if it is only the first call will have an effect.
It also has an effect only if called before the initialisation
of the singleton.
In cases where the function is indeed going to change anything
the ``True`` value is return, in all other cases, the ``False``
value is returned.
"""
if self.__decoration_chain is None and self.__instance is None:
log.debug("Setting up a specific behaviour for the PluginManagerSingleton")
self.__decoration_chain = list_of_pmd
return True
else:
log.debug("Useless call to setBehaviour: the singleton is already instanciated of already has a behaviour.")
return False
开发者ID:DanielGraef,项目名称:web-lights,代码行数:22,代码来源:PluginManager.py
示例12: locatePlugins
def locatePlugins(self):
"""
Walk through the plugins' places and look for plugins.
Return the number of plugins found.
"""
# print "%s.locatePlugins" % self.__class__
self._candidates = []
for directory in map(os.path.abspath,self.plugins_places):
# first of all, is it a directory :)
if not os.path.isdir(directory):
log.debug("%s skips %s (not a directory)" % (self.__class__.__name__,directory))
continue
# iteratively walks through the directory
log.debug("%s walks into directory: %s" % (self.__class__.__name__,directory))
for item in os.walk(directory):
dirpath = item[0]
for filename in item[2]:
# eliminate the obvious non plugin files
if not filename.endswith(".%s" % self.plugin_info_ext):
continue
candidate_infofile = os.path.join(dirpath,filename)
log.debug("""%s found a candidate:
%s""" % (self.__class__.__name__, candidate_infofile))
# print candidate_infofile
plugin_info = self.gatherBasicPluginInfo(dirpath,filename)
if plugin_info is None:
log.info("Plugin candidate rejected: '%s'" % candidate_infofile)
continue
# now determine the path of the file to execute,
# depending on wether the path indicated is a
# directory or a file
# print plugin_info.path
if os.path.isdir(plugin_info.path):
candidate_filepath = os.path.join(plugin_info.path,"__init__")
elif os.path.isfile(plugin_info.path+".py"):
candidate_filepath = plugin_info.path
else:
log.info("Plugin candidate rejected: '%s'" % candidate_infofile)
continue
# print candidate_filepath
self._candidates.append((candidate_infofile, candidate_filepath, plugin_info))
return len(self._candidates)
开发者ID:markfickett,项目名称:yapsy,代码行数:43,代码来源:PluginManager.py
示例13: locatePlugins
def locatePlugins(self):
"""
Walk through the plugins' places and look for plugins.
Return the candidates and number of plugins found.
"""
# print "%s.locatePlugins" % self.__class__
_candidates = []
_discovered = {}
for directory in map(os.path.abspath, self.plugins_places):
# first of all, is it a directory :)
if not os.path.isdir(directory):
log.debug("%s skips %s (not a directory)" % (self.__class__.__name__, directory))
continue
if self.recursive:
debug_txt_mode = "recursively"
walk_iter = os.walk(directory)
else:
debug_txt_mode = "non-recursively"
walk_iter = [(directory,[],os.listdir(directory))]
# iteratively walks through the directory
log.debug("%s walks (%s) into directory: %s" % (self.__class__.__name__, debug_txt_mode, directory))
for item in walk_iter:
dirpath = item[0]
for filename in item[2]:
# print "testing candidate file %s" % filename
for analyzer in self._analyzers:
# print "... with analyzer %s" % analyzer.name
# eliminate the obvious non plugin files
if not analyzer.isValidPlugin(filename):
log.debug("%s is not a valid plugin for strategy %s" % (filename, analyzer.name))
continue
candidate_infofile = os.path.join(dirpath, filename)
if candidate_infofile in _discovered:
log.debug("%s (with strategy %s) rejected because already discovered" % (candidate_infofile, analyzer.name))
continue
log.debug("%s found a candidate:\n %s" % (self.__class__.__name__, candidate_infofile))
# print candidate_infofile
plugin_info = self._getInfoForPluginFromAnalyzer(analyzer, dirpath, filename)
if plugin_info is None:
log.warning("Plugin candidate '%s' rejected by strategy '%s'" % (candidate_infofile, analyzer.name))
break # we consider this was the good strategy to use for: it failed -> not a plugin -> don't try another strategy
# now determine the path of the file to execute,
# depending on wether the path indicated is a
# directory or a file
# print plugin_info.path
# Remember all the files belonging to a discovered
# plugin, so that strategies (if several in use) won't
# collide
if os.path.isdir(plugin_info.path):
candidate_filepath = os.path.join(plugin_info.path, "__init__")
# it is a package, adds all the files concerned
for _file in os.listdir(plugin_info.path):
if _file.endswith(".py"):
self._discovered_plugins[os.path.join(plugin_info.path, _file)] = candidate_filepath
_discovered[os.path.join(plugin_info.path, _file)] = candidate_filepath
elif (plugin_info.path.endswith(".py") and os.path.isfile(plugin_info.path)) or os.path.isfile(plugin_info.path+".py"):
candidate_filepath = plugin_info.path
if candidate_filepath.endswith(".py"):
candidate_filepath = candidate_filepath[:-3]
# it is a file, adds it
self._discovered_plugins[".".join((plugin_info.path, "py"))] = candidate_filepath
_discovered[".".join((plugin_info.path, "py"))] = candidate_filepath
else:
log.error("Plugin candidate rejected: cannot find the file or directory module for '%s'" % (candidate_infofile))
break
# print candidate_filepath
_candidates.append((candidate_infofile, candidate_filepath, plugin_info))
# finally the candidate_infofile must not be discovered again
_discovered[candidate_infofile] = candidate_filepath
self._discovered_plugins[candidate_infofile] = candidate_filepath
# print "%s found by strategy %s" % (candidate_filepath, analyzer.name)
return _candidates, len(_candidates)
开发者ID:eaglexmw,项目名称:codimension,代码行数:73,代码来源:PluginFileLocator.py
注:本文中的yapsy.log.debug函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论