def system_message(self, level, message, *children, **kwargs):
self.messages.append((level, message, children, kwargs))
return nodes.system_message(message, level=level,
type=self.levels[level],
*children, **kwargs)
python类system_message()的实例源码
def apply(self):
for node in self.document.traverse(nodes.system_message):
if node['level'] < self.document.reporter.report_level:
node.parent.remove(node)
def __init__(self, system_message, level):
Exception.__init__(self, system_message.astext())
self.level = level
def attach_observer(self, observer):
"""
The `observer` parameter is a function or bound method which takes one
argument, a `nodes.system_message` instance.
"""
self.observers.append(observer)
def debug(self, *args, **kwargs):
"""
Level-0, "DEBUG": an internal reporting issue. Typically, there is no
effect on the processing. Level-0 system messages are handled
separately from the others.
"""
if self.debug_flag:
return self.system_message(self.DEBUG_LEVEL, *args, **kwargs)
def info(self, *args, **kwargs):
"""
Level-1, "INFO": a minor issue that can be ignored. Typically there is
no effect on processing, and level-1 system messages are not reported.
"""
return self.system_message(self.INFO_LEVEL, *args, **kwargs)
def warning(self, *args, **kwargs):
"""
Level-2, "WARNING": an issue that should be addressed. If ignored,
there may be unpredictable problems with the output.
"""
return self.system_message(self.WARNING_LEVEL, *args, **kwargs)
def error(self, *args, **kwargs):
"""
Level-3, "ERROR": an error that should be addressed. If ignored, the
output will contain errors.
"""
return self.system_message(self.ERROR_LEVEL, *args, **kwargs)
def severe(self, *args, **kwargs):
"""
Level-4, "SEVERE": a severe error that must be addressed. If ignored,
the output will contain severe errors. Typically level-4 system
messages are turned into exceptions which halt processing.
"""
return self.system_message(self.SEVERE_LEVEL, *args, **kwargs)
def filter_messages(self, doctree):
"""Filter system messages from a doctree."""
filterlevel = self.config.keep_warnings and 2 or 5
for node in doctree.traverse(nodes.system_message):
if node['level'] < filterlevel:
self.app.debug('%s [filtered system message]', node.astext())
node.parent.remove(node)
def _is_single_paragraph(node):
"""True if the node only contains one paragraph (and system messages)."""
if len(node) == 0:
return False
elif len(node) > 1:
for subnode in node[1:]:
if not isinstance(subnode, nodes.system_message):
return False
if isinstance(node[0], nodes.paragraph):
return True
return False
def system_message(self, level, message, *children, **kwargs):
self.messages.append((level, message, children, kwargs))
return nodes.system_message(message, level=level,
type=self.levels[level],
*children, **kwargs)
test_directive.py 文件源码
项目:sphinxcontrib-programoutput
作者: solarkennedy
项目源码
文件源码
阅读 18
收藏 0
点赞 0
评论 0
def test_non_existing_executable(doctree, srcdir):
# check that a proper error message appears in the document
message = doctree.next_node(system_message)
assert message
srcfile = str(srcdir.join('content').join('doc.rst'))
assert message['source'] == srcfile
assert message['line'] == 4
if sys.version_info[0:2] < (3, 2):
msgtemplate = ("{0}:4: (ERROR/3) Command {1!r} failed: "
"[Errno 2] No such file or directory")
else:
msgtemplate = ("{0}:4: (ERROR/3) Command {1!r} failed: "
"[Errno 2] No such file or directory: {1}")
assert message.astext() == msgtemplate.format(srcfile, "'spam with eggs'")
test_directive.py 文件源码
项目:sphinxcontrib-programoutput
作者: NextThought
项目源码
文件源码
阅读 21
收藏 0
点赞 0
评论 0
def test_non_existing_executable(self):
# check that a proper error message appears in the document
message = self.doctree.next_node(system_message)
assert message
srcfile = os.path.join(self.srcdir, 'content', 'doc.rst')
self.assertEqual(message['source'], srcfile)
self.assertEqual(message['line'], 5)
message_text = message.astext()
self.assertIn(srcfile, message_text)
self.assertIn('spam with eggs', message_text)
self.assertIn("Errno", message_text)
test_directive.py 文件源码
项目:sphinxcontrib-programoutput
作者: NextThought
项目源码
文件源码
阅读 19
收藏 0
点赞 0
评论 0
def test_non_existing_working_directory(self):
# check that a proper error message appears in the document
doctree = self.doctree
srcdir = self.srcdir
message = doctree.next_node(system_message)
assert message
srcfile = os.path.join(srcdir, 'content', 'doc.rst')
self.assertEqual(message['source'], srcfile)
self.assertEqual(message['line'], 5)
message_text = message.astext()
self.assertIn(srcfile, message_text)
self.assertIn('subdir', message_text)
self.assertIn("No such file or directory", message_text)
def system_message(self, level, message, *children, **kwargs):
self.messages.append((level, message, children, kwargs))
return nodes.system_message(message, level=level,
type=self.levels[level],
*children, **kwargs)
def system_message(self, level, message, *children, **kwargs):
self.messages.append((level, message, children, kwargs))
return nodes.system_message(message, level=level, type=self.
levels[level], *children, **kwargs)
def system_message(self, level, message, *children, **kwargs):
self.messages.append((level, message, children, kwargs))
return nodes.system_message(message, level=level,
type=self.levels[level],
*children, **kwargs)
def system_message(self, level, message, *children, **kwargs):
self.messages.append((level, message, children, kwargs))
return nodes.system_message(message, level=level,
type=self.levels[level],
*children, **kwargs)
def system_message(self, level, message, *children, **kwargs):
self.messages.append((level, message, children, kwargs))
return nodes.system_message(message, level=level,
type=self.levels[level],
*children, **kwargs)