本文整理汇总了Python中docutils.parsers.rst.directives方法的典型用法代码示例。如果您正苦于以下问题:Python rst.directives方法的具体用法?Python rst.directives怎么用?Python rst.directives使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类docutils.parsers.rst
的用法示例。
在下文中一共展示了rst.directives方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test
# 需要导入模块: from docutils.parsers import rst [as 别名]
# 或者: from docutils.parsers.rst import directives [as 别名]
def test(monkeypatch, tmpdir, tail, expected_error):
"""Test valid and invalid values."""
tmpdir.join('conf.py').write(BASE_CONFIG.format(py.path.local(__file__).join('..', '..')))
tmpdir.join('conf.py').write(tail, mode='a')
tmpdir.join('index.rst').write('====\nMain\n====\n\n.. toctree::\n :maxdepth: 2\n.. disqus::')
monkeypatch.setattr(directives, '_directives', getattr(directives, '_directives').copy())
monkeypatch.setattr(roles, '_roles', getattr(roles, '_roles').copy())
srcdir = confdir = str(tmpdir)
outdir = tmpdir.join('_build', 'html')
doctreedir = outdir.join('doctrees').ensure(dir=True, rec=True)
app = application.Sphinx(srcdir, confdir, str(outdir), str(doctreedir), 'html')
if not expected_error:
app.builder.build_all()
html_body = outdir.join('index.html').read()
disqus_div = re.findall(r'(<div[^>]+ id="disqus_thread"[^>]*></div>)', html_body)[0]
assert 'data-disqus-shortname="good"' in disqus_div
return
with pytest.raises(errors.ExtensionError) as exc:
app.builder.build_all()
assert expected_error == exc.value.args[0]
示例2: test
# 需要导入模块: from docutils.parsers import rst [as 别名]
# 或者: from docutils.parsers.rst import directives [as 别名]
def test(monkeypatch, tmpdir, expected, rst_title, option):
"""Test valid and invalid values."""
tmpdir.join('conf.py').write(BASE_CONFIG.format(py.path.local(__file__).join('..', '..')))
tmpdir.join('conf.py').write('', mode='a')
tmpdir.join('index.rst').write('{}.. toctree::\n :maxdepth: 2\n.. disqus::\n{}'.format(rst_title, option))
monkeypatch.setattr(directives, '_directives', getattr(directives, '_directives').copy())
monkeypatch.setattr(roles, '_roles', getattr(roles, '_roles').copy())
srcdir = confdir = str(tmpdir)
outdir = tmpdir.join('_build', 'html')
doctreedir = outdir.join('doctrees').ensure(dir=True, rec=True)
app = application.Sphinx(srcdir, confdir, str(outdir), str(doctreedir), 'html')
if expected:
app.builder.build_all()
html_body = outdir.join('index.html').read()
disqus_div = re.findall(r'(<div[^>]+ id="disqus_thread"[^>]*></div>)', html_body)[0]
assert 'data-disqus-identifier="{}"'.format(expected) in disqus_div
return
with pytest.raises(DisqusError) as exc:
app.builder.build_all()
assert 'No title nodes found in document, cannot derive disqus_identifier config value.' == exc.value.args[0]
示例3: find_names
# 需要导入模块: from docutils.parsers import rst [as 别名]
# 或者: from docutils.parsers.rst import directives [as 别名]
def find_names(module, names_dict):
# Refguide entries:
#
# - 3 spaces followed by function name, and maybe some spaces, some
# dashes, and an explanation; only function names listed in
# refguide are formatted like this (mostly, there may be some false
# positives)
#
# - special directives, such as data and function
#
# - (scipy.constants only): quoted list
#
patterns = [
r"^\s\s\s([a-z_0-9A-Z]+)(\s+-+.*)?$",
r"^\.\. (?:data|function)::\s*([a-z_0-9A-Z]+)\s*$"
]
if module.__name__ == 'scipy.constants':
patterns += ["^``([a-z_0-9A-Z]+)``"]
patterns = [re.compile(pattern) for pattern in patterns]
module_name = module.__name__
for line in module.__doc__.splitlines():
res = re.search(r"^\s*\.\. (?:currentmodule|module):: ([a-z0-9A-Z_.]+)\s*$", line)
if res:
module_name = res.group(1)
continue
for pattern in patterns:
res = re.match(pattern, line)
if res is not None:
name = res.group(1)
entry = '.'.join([module_name, name])
names_dict.setdefault(module_name, set()).add(name)
break