本文整理汇总了Python中docutils.nodes.caution方法的典型用法代码示例。如果您正苦于以下问题:Python nodes.caution方法的具体用法?Python nodes.caution怎么用?Python nodes.caution使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类docutils.nodes
的用法示例。
在下文中一共展示了nodes.caution方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run
# 需要导入模块: from docutils import nodes [as 别名]
# 或者: from docutils.nodes import caution [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: visit_admonition
# 需要导入模块: from docutils import nodes [as 别名]
# 或者: from docutils.nodes import caution [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:]