本文整理汇总了Python中docutils.nodes.warning方法的典型用法代码示例。如果您正苦于以下问题:Python nodes.warning方法的具体用法?Python nodes.warning怎么用?Python nodes.warning使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类docutils.nodes
的用法示例。
在下文中一共展示了nodes.warning方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run
# 需要导入模块: from docutils import nodes [as 别名]
# 或者: from docutils.nodes import warning [as 别名]
def run(self):
self.assert_has_content()
hidden_until = self.arguments[0]
try:
hidden_until = parse_date(hidden_until)
except:
raise self.error('Unknown date format in the "%s" directive; '
'%s' % (self.name, hidden_until))
force_show = self.state.document.settings.force_show_hidden_until
translation = _get_inginious_translation()
after_deadline = hidden_until <= datetime.now()
if after_deadline or force_show:
output = []
# Add a warning for teachers/tutors/...
if not after_deadline and force_show:
node = nodes.caution()
self.add_name(node)
text = translation.gettext("The feedback below will be hidden to the students until {}.").format(
hidden_until.strftime("%d/%m/%Y %H:%M:%S"))
self.state.nested_parse(StringList(text.split("\n")), 0, node)
output.append(node)
text = '\n'.join(self.content)
node = nodes.compound(text)
self.add_name(node)
self.state.nested_parse(self.content, self.content_offset, node)
output.append(node)
return output
else:
node = nodes.caution()
self.add_name(node)
text = translation.gettext(
"A part of this feedback is hidden until {}. Please come back later and reload the submission to see the full feedback.").format(
hidden_until.strftime("%d/%m/%Y %H:%M:%S"))
self.state.nested_parse(StringList(text.split("\n")), 0, node)
return [node]
示例2: _directive_checks
# 需要导入模块: from docutils import nodes [as 别名]
# 或者: from docutils.nodes import warning [as 别名]
def _directive_checks(self):
# Check if file insertion is enabled
if not self.state.document.settings.file_insertion_enabled:
msg = (
'File and URL access deactivated. '
'Ignoring directive "{}".'.format(self._get_directive_name())
)
warning = nodes.warning(
'', self.state_machine.reporter.warning(
'', nodes.literal_block('', msg),
line=self.lineno
)
)
return [warning]
# Check that no content and argument are used at the same time
if self.arguments and self.content:
warning = self.state_machine.reporter.warning(
'{} directive cannot have both content and a filename '
'argument.'.format(self._get_directive_name()),
line=self.lineno
)
return [warning]
# Check that at least one was provided
if not (self.arguments or self.content):
warning = self.state_machine.reporter.warning(
'{} directive must have content or a filename '
'argument.'.format(self._get_directive_name()),
line=self.lineno
)
return [warning]
return None
示例3: run
# 需要导入模块: from docutils import nodes [as 别名]
# 或者: from docutils.nodes import warning [as 别名]
def run(self):
""" Executes python code for an RST document, taking input from content or from a filename
:return:
"""
language = self.options.get('language') or 'python'
output_language = self.options.get('output_language') or 'none'
filename = self.options.get('filename')
code = ''
if not filename:
code = '\n'.join(self.content)
if filename:
try:
with open(filename, 'r') as code_file:
code = code_file.read()
self.warning('code is %s' % code)
except (IOError, OSError) as err:
# Raise warning instead of a code block
error = 'Error opening file: %s, working folder: %s' % (err, os.getcwd())
self.warning(error)
return [nodes.warning(error, error)]
output = []
# Show the example code
if not 'hide_code' in self.options:
input_code = nodes.literal_block(code, code)
input_code['language'] = language
input_code['linenos'] = 'linenos' in self.options
if not 'hide_headers' in self.options:
suffix = ''
if not 'hide_filename' in self.options:
suffix = '' if filename is None else str(filename)
output.append(nodes.caption(
text='Code %s' % suffix))
output.append(input_code)
# Show the code results
if not 'hide_headers' in self.options:
output.append(nodes.caption(text='Results'))
code_results = self.execute_code(code)
code_results = nodes.literal_block(code_results, code_results)
code_results['linenos'] = 'linenos' in self.options
code_results['language'] = output_language
output.append(code_results)
return output
示例4: visit_admonition
# 需要导入模块: from docutils import nodes [as 别名]
# 或者: from docutils.nodes import warning [as 别名]
def visit_admonition(self, node):
""" Support for bootstrap alert/cards """
node['classes'].insert(0, 'admonition')
converter = {
'danger': 'danger',
'attention': 'warning',
'caution': 'warning',
'error': 'danger',
'hint': 'info',
'important': 'warning',
'note': 'default',
'tip': 'info',
'warning': 'warning',
'success': 'success',
'info': 'info',
'primary': 'primary',
'secondary': 'secondary',
'light': 'light',
'dark': 'dark'
}
cls = [x if not x.startswith('admonition-') else x[11:] for x in node['classes']]
cls = [converter.get(x) for x in cls if converter.get(x) is not None]
if len(cls) == 0:
cls = 'info'
else:
cls = cls[0]
if "title" in node and node['title'] != "":
self.body.append(self.starttag(node, 'div', CLASS='card mb-3 border-' + cls))
card_color = "bg-" + cls
if cls not in ['default', 'light', 'secondary']:
card_color += ' text-white'
self.body.append(self.starttag(node, 'div', CLASS='card-header ' + card_color))
self.body.append(self.encode(node['title']))
self.body.append('</div>\n')
self.body.append(self.starttag(node, 'div', CLASS='card-body'))
else:
if cls == "default":
cls = 'light'
self.body.append(self.starttag(node, 'div', CLASS='alert alert-' + cls))
self.set_first_last(node)
# drop unneeded title
node.children = node.children[1:]