|
7 | 7 | from argparse import ArgumentParser |
8 | 8 |
|
9 | 9 | from docutils import nodes |
10 | | -from docutils.frontend import OptionParser |
| 10 | +from docutils.frontend import get_default_settings |
11 | 11 | from docutils.parsers.rst import Directive, Parser |
12 | 12 | from docutils.parsers.rst.directives import flag, unchanged |
13 | 13 | from docutils.statemachine import StringList |
14 | | -from docutils.utils import new_document |
| 14 | +from sphinx.util.docutils import new_document |
15 | 15 | from sphinx.util.nodes import nested_parse_with_titles |
16 | 16 |
|
17 | 17 | from sphinxarg import __version__ |
@@ -71,12 +71,12 @@ def render_list(l, markdown_help, settings=None): |
71 | 71 |
|
72 | 72 | return parse_markdown_block('\n\n'.join(l) + '\n') |
73 | 73 | else: |
| 74 | + if settings is None: |
| 75 | + settings = get_default_settings(Parser) |
74 | 76 | all_children = [] |
75 | 77 | for element in l: |
76 | 78 | if isinstance(element, str): |
77 | | - if settings is None: |
78 | | - settings = OptionParser(components=(Parser,)).get_default_values() |
79 | | - document = new_document(None, settings) |
| 79 | + document = new_document('', settings) |
80 | 80 | Parser().parse(element + '\n', document) |
81 | 81 | all_children += document.children |
82 | 82 | elif isinstance(element, nodes.definition): |
@@ -250,7 +250,7 @@ def ensure_unique_ids(items): |
250 | 250 | """ |
251 | 251 | s = set() |
252 | 252 | for item in items: |
253 | | - for n in item.traverse(descend=True, siblings=True, ascend=False): |
| 253 | + for n in item.findall(descend=True, siblings=True, ascend=False): |
254 | 254 | if isinstance(n, nodes.section): |
255 | 255 | ids = n['ids'] |
256 | 256 | for idx, id in enumerate(ids): |
|
0 commit comments