本文整理汇总了Python中common.Log.error方法的典型用法代码示例。如果您正苦于以下问题:Python Log.error方法的具体用法?Python Log.error怎么用?Python Log.error使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common.Log
的用法示例。
在下文中一共展示了Log.error方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _postprocessEvent
# 需要导入模块: from common import Log [as 别名]
# 或者: from common.Log import error [as 别名]
def _postprocessEvent(event, logDir):
# Process the render surface if there is one
if "render_surface_width" in event.sensorData and "render_surface_height" in event.sensorData:
try:
_processRenderSurface(logDir, event.sensorData)
except Exception, e:
Log.error("Unable to load render surface for event %s(%d): %s" % (event.name, event.seq, e))
示例2: _processRenderSurface
# 需要导入模块: from common import Log [as 别名]
# 或者: from common.Log import error [as 别名]
def _processRenderSurface(logDir, attributes):
def attr(name):
return attributes[name]
w, h = attr("render_surface_width"), attr("render_surface_height")
redMask = attr("red_mask")
greenMask = attr("green_mask")
blueMask = attr("blue_mask")
alphaMask = attr("alpha_mask")
depthMask = attr("depth_mask")
stencilMask = attr("stencil_mask")
isLinear = attr("is_linear")
isPremultiplied = attr("is_premultiplied")
# Convert the color buffer
if "color_buffer" in attributes:
fileName = attr("color_buffer")
if not os.path.exists(fileName):
fileName = os.path.join(logDir, fileName)
fileNameOut = fileName.rsplit(".", 1)[0] + ".png"
# Only do the conversion if the image doesn't already exist
# or if the source file is newer.
if fileName.endswith(".dat") and \
(not os.path.exists(fileNameOut) or \
(os.path.exists(fileName) and os.path.getmtime(fileName) > os.path.getmtime(fileNameOut))
):
stride = attr("color_stride")
f = open(fileName, "rb")
data = f.read(stride * h)
f.close()
if len(data) != h * stride or not data:
Log.error("Invalid color buffer data size: %d" % len(data))
return
colorBuffer = Graphics.decodeImageData(data, (w, h), stride, redMask, greenMask, blueMask, alphaMask, isLinear, isPremultiplied)
colorBuffer = colorBuffer.convert("RGBA")
colorBuffer.save(fileNameOut)
# We can remove the original file now
os.unlink(fileName)
# Replace the original file name with the decoded file
attributes["color_buffer"] = fileNameOut
# Eat the render surface attributes since they are of little use further down the road
#for attrName in ["red_mask", "green_mask", "blue_mask", "alpha_mask",
# "depth_mask", "stencil_mask", "color_stride",
# "is_linear", "is_premultiplied", "color_data_type",
# "depth_data_type", "stencil_data_type"]:
# if attrName in attributes:
# del attributes[attrName]
for bufferName in ["depth_buffer", "stencil_buffer"]:
if bufferName in attributes and not os.path.exists(attributes[bufferName]):
# Fill in the full buffer file name
attributes[bufferName] = os.path.join(logDir, attr(bufferName))
示例3: collectItem
# 需要导入模块: from common import Log [as 别名]
# 或者: from common.Log import error [as 别名]
def collectItem(self, targetPath, item):
Tools.makePath(targetPath)
path = self.config.getRelativePath(item)
if not os.path.exists(path):
Log.error("Project file '%s' not found." % path)
return
if not int(item.attrs.get("copy", 1)):
return path
name = os.path.basename(path)
shutil.copyfile(path, os.path.join(targetPath, name))
return name
示例4: generate
# 需要导入模块: from common import Log [as 别名]
# 或者: from common.Log import error [as 别名]
def generate(templates, namespace, outputFile = sys.stdout):
"""
Process a list of templates and write the result to a file object.
@param templates: A list of templates to process
@param namespace: A dictionary of objects that the templates may access
@param outputFile: Output file object.
"""
def processTemplate(inputFile, outputFile, searchList):
t = Template(file = inputFile, searchList = searchList)
outputFile.write(str(t))
def process(templateName):
processTemplate(open(templateName), outputFile, namespace)
for template in templates:
try:
process(template)
except Exception, e:
Log.error("Exception while processing template '%s': %s" % (template, e))
raise
示例5: getAvailablePluginModules
# 需要导入模块: from common import Log [as 别名]
# 或者: from common.Log import error [as 别名]
def getAvailablePluginModules(pluginPath = None):
"""
Determine the available plugin modules on the system.
@returns a list of found plugins
"""
if pluginPath is None:
pluginPath = Resource.getPath("plugins", required = True)
if pluginPath is None:
return []
if not pluginPath in sys.path:
sys.path.append(pluginPath)
plugins = []
for name in os.listdir(pluginPath):
try:
if os.path.isfile(os.path.join(pluginPath, name, "__init__.py")):
plugins.append(__import__(name))
except ImportError, e:
Log.error("Unable to load plugin %s: %s" % (name, e))
示例6: reportError
# 需要导入模块: from common import Log [as 别名]
# 或者: from common.Log import error [as 别名]
def reportError(self, msg):
for line in str(msg).rstrip().split("\n"):
Log.error(line)
示例7: fail
# 需要导入模块: from common import Log [as 别名]
# 或者: from common.Log import error [as 别名]
def fail(reason):
Log.error(reason)
sys.exit(1)
示例8: fail
# 需要导入模块: from common import Log [as 别名]
# 或者: from common.Log import error [as 别名]
def fail(self, reason):
msg = "Target '%s' failed: %s" % (self.name, reason)
Log.error(msg)
raise RuntimeError(msg)
示例9: prepare
# 需要导入模块: from common import Log [as 别名]
# 或者: from common.Log import error [as 别名]
def prepare(self):
# Shorthand for various objects
config = self.config
lib = self.library
# Parse the sources
for fileName in config.get("apiheaders", []):
Log.notice("Parsing functions from '%s'." % fileName)
source = self.parserTool.readSource(fileName)
newLib = Parser.parseSource(source)
for f in newLib.functions.values():
f.headerName = fileName
for f in newLib.functions.values():
Log.debug("%s %s(%s)" % (f.type, f.name, ", ".join(["%s %s" % (t.type, p) for p, t in f.parameters.items()])))
if not newLib.functions:
Log.warn("No new functions found.")
else:
Log.notice("%d functions found." % len(newLib.functions))
lib.merge(newLib)
# Load the hooks
self.parserTool.loadHooks()
def parseBool(s):
return bool(int(s))
# Read the typemap
for typeDecl, mapping in self.config.types.items():
attrs = self.config.types[typeDecl].attrs
name, type = Parser.parseVariableDeclaration(typeDecl + " dummy")
assert name == "dummy"
# If this is a class mapping, create the class if it doesn't already exist
if mapping == "object":
if not mapping in self.library.classes:
cls = Library.Class(type)
if "namespace" in attrs:
cls.namespacePath = attrs["namespace"].split(".")
self.library.classes[type] = cls
# Patch the default decoration hint into all matching types
if "decorationhint" in attrs:
for function in self.library.functions.values():
for t in [p.type for p in function.parameters.values()] + [function.type]:
if t == type:
t.decorationHint = attrs["decorationhint"]
self.library.typeMap[type] = str(mapping)
# Patch in some function-specific attributes
for function in config.functions.keys():
if not function in lib.functions:
self.fail("Attributes specified for non-existent function '%s'." % function)
attrs = config.functions[function].attrs
if "terminator" in attrs:
lib.functions[function].isTerminator = parseBool(attrs["terminator"])
if "generate" in attrs:
lib.functions[function].generate = parseBool(attrs["generate"])
if "runtimestate" in attrs:
lib.functions[function].runtimeStateTracking = parseBool(attrs["runtimestate"])
if "framemarker" in attrs:
lib.functions[function].isFrameMarker = parseBool(attrs["framemarker"])
if "staticlinkage" in attrs:
lib.functions[function].staticLinkage = parseBool(attrs["staticlinkage"])
if "rendercall" in attrs:
lib.functions[function].isRenderCall = parseBool(attrs["rendercall"])
if "passthrough" in attrs:
lib.functions[function].passthrough = parseBool(attrs["passthrough"])
if not isinstance(config.functions[function], Config.Group):
self.fail("Syntax error: State map definition for function '%s' is missing braces." % function)
# Argument to state mapping
reservedNames = ["@return", "@modify", "@set", "@get", "@copy"]
funcAttrs = attrs
for arg, parameter in config.functions[function].items():
# Check that this is a valid parameter
if not arg in reservedNames and not arg in lib.functions[function].parameters:
self.fail("State mapping for nonexistent parameter '%s' of function '%s' specified." % (arg, function))
if arg in ["@copy"] and parseBool(funcAttrs.get("runtimestate", "0")):
Log.warn("Function %s state relation %s not implemented for runtime state tracking." % (function, arg))
# Read the parameter-specific attributes
attrs = config.functions[function][arg].attrs
if "decoration" in attrs:
lib.functions[function].parameters[arg].decoration = attrs["decoration"]
if "decorationhint" in attrs:
lib.functions[function].parameters[arg].decorationHint = attrs["decorationhint"]
if "out" in attrs:
lib.functions[function].parameters[arg].isOut = parseBool(attrs["out"])
if "object_class" in attrs:
# Create a function-local type so that this parameter type is an object only for this function
if arg == "@return":
type = lib.functions[function].type
else:
type = lib.functions[function].parameters[arg].type
# Override the type's name so that it will refer to the new object class
# while still using the original C type under the hood
newType = copy.deepcopy(type)
newType.isObject = True
newType.name = attrs["object_class"]
if arg == "@return":
#.........这里部分代码省略.........