diff --git a/oslo_config/sphinxext.py b/oslo_config/sphinxext.py index 00269310..d9f256a0 100644 --- a/oslo_config/sphinxext.py +++ b/oslo_config/sphinxext.py @@ -10,10 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from __future__ import print_function - -import tempfile - from docutils import nodes from docutils.parsers import rst from docutils.parsers.rst import directives @@ -308,27 +304,19 @@ class ShowOptionsDirective(rst.Directive): result = ViewList() source_name = self.state.document.current_source - with tempfile.NamedTemporaryFile(suffix='.rst', delete=False) as tmp: - # NOTE(stephenfin): We dump the output to a tempfile to assist - # people in debugging their broken config options. It would be good - # to conditionalize this but that would require access to error - # state from the directive, which we don't have, and would - # necessitate holding the whole file, which could be rather large, - # in memory while we wait on the decision. - LOG.info('dumping output to %r', tmp.name) - offset = 0 - for count, line in enumerate(_format_option_help( - namespaces, split_namespaces)): - # FIXME(stephenfin): Some lines emitted are actually multiple - # lines. This throws off our counter, which is rather annoying. - # We handle this here but we should really handle it higher up. - parts = line.split('\n') - if len(parts) > 1: - offset += len(parts) - 1 + offset = 0 + for count, line in enumerate(_format_option_help( + namespaces, split_namespaces)): + # FIXME(stephenfin): Some lines emitted are actually multiple + # lines. This throws off our counter, which is rather annoying. + # We handle this here but we should really handle it higher up. + parts = line.split('\n') + if len(parts) > 1: + offset += len(parts) - 1 - for part in parts: - result.append(part, source_name, count + offset) - tmp.write(line.encode('utf-8') + b'\n') + for part in parts: + result.append(part, source_name, count + offset) + LOG.debug(' '.join(['%5d' % (count + offset), part])) node = nodes.section() node.document = self.state.document