本文整理汇总了Python中report_builder.ReportBuilder.add_message方法的典型用法代码示例。如果您正苦于以下问题:Python ReportBuilder.add_message方法的具体用法?Python ReportBuilder.add_message怎么用?Python ReportBuilder.add_message使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类report_builder.ReportBuilder
的用法示例。
在下文中一共展示了ReportBuilder.add_message方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: trace_code
# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import add_message [as 别名]
def trace_code(self, source, module_name=None):
builder = ReportBuilder(self.message_limit)
builder.max_width = self.max_width
try:
tree = parse(source)
new_tree = Tracer().visit(tree)
fix_missing_locations(new_tree)
LineNumberCleaner().visit(new_tree)
# from ast import dump
# print(dump(new_tree, include_attributes=False))
code = compile(new_tree, PSEUDO_FILENAME, 'exec')
self.environment[CONTEXT_NAME] = builder
if module_name is None:
environment = self.environment
else:
mod = types.ModuleType(module_name)
sys.modules[module_name] = mod
# Any reason to set mod.__file__?
mod.__dict__.update(self.environment)
environment = mod.__dict__
exec(code, environment)
for value in environment.values():
if isinstance(value, types.GeneratorType):
value.close()
except SyntaxError:
ex = sys.exc_info()[1]
messages = traceback.format_exception_only(type(ex), ex)
builder.add_message(messages[-1].strip() + ' ', ex.lineno)
except:
etype, value, tb = sys.exc_info()
is_reported = False
builder.message_limit = None # make sure we don't hit limit
builder.max_width = None # make sure we don't hit limit
messages = traceback.format_exception_only(etype, value)
message = messages[-1].strip() + ' '
entries = traceback.extract_tb(tb)
for filename, line_number, _, _ in entries:
if filename == PSEUDO_FILENAME:
builder.add_extra_message(message, line_number)
is_reported = True
if not is_reported:
builder.add_message(message, 1)
# print('=== Unexpected Exception in tracing code ===')
# traceback.print_exception(etype, value, tb)
return builder.report()
示例2: trace_code
# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import add_message [as 别名]
def trace_code(self, source):
builder = ReportBuilder(self.message_limit)
try:
tree = parse(source)
visitor = TraceAssignments()
new_tree = visitor.visit(tree)
fix_missing_locations(new_tree)
code = compile(new_tree, PSEUDO_FILENAME, 'exec')
self.environment[CONTEXT_NAME] = builder
exec code in self.environment
except SyntaxError, ex:
messages = traceback.format_exception_only(type(ex), ex)
builder.add_message(messages[-1].strip() + ' ', ex.lineno)
示例3: trace_code
# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import add_message [as 别名]
def trace_code(self, source):
builder = ReportBuilder(self.message_limit)
builder.max_width = self.max_width
try:
tree = parse(source)
visitor = TraceAssignments()
new_tree = visitor.visit(tree)
fix_missing_locations(new_tree)
# from ast import dump
# print(dump(new_tree, include_attributes=False))
code = compile(new_tree, PSEUDO_FILENAME, 'exec')
self.environment[CONTEXT_NAME] = builder
exec(code, self.environment, self.environment)
except SyntaxError:
ex = sys.exc_info()[1]
messages = traceback.format_exception_only(type(ex), ex)
builder.add_message(messages[-1].strip() + ' ', ex.lineno)
except:
etype, value, tb = sys.exc_info()
is_reported = False
builder.message_limit = None # make sure we don't hit limit
builder.max_width = None # make sure we don't hit limit
messages = traceback.format_exception_only(etype, value)
message = messages[-1].strip() + ' '
entries = traceback.extract_tb(tb)
for filename, line_number, _, _ in entries:
if filename == PSEUDO_FILENAME:
builder.add_extra_message(message, line_number)
is_reported = True
if not is_reported:
builder.add_message(message, 1)
# print('=== Unexpected Exception in tracing code ===')
# traceback.print_exception(etype, value, tb)
return builder.report()