diff options
Diffstat (limited to 'sphinx/writers/text.py')
-rw-r--r-- | sphinx/writers/text.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/sphinx/writers/text.py b/sphinx/writers/text.py index e6238364..efd32df3 100644 --- a/sphinx/writers/text.py +++ b/sphinx/writers/text.py @@ -13,12 +13,13 @@ import re import textwrap from itertools import groupby +from six.moves import zip_longest + from docutils import nodes, writers from docutils.utils import column_width from sphinx import addnodes from sphinx.locale import admonitionlabels, _ -from sphinx.util.pycompat import zip_longest class TextWrapper(textwrap.TextWrapper): @@ -141,9 +142,10 @@ class TextWriter(writers.Writer): def __init__(self, builder): writers.Writer.__init__(self) self.builder = builder + self.translator_class = self.builder.translator_class or TextTranslator def translate(self): - visitor = TextTranslator(self.document, self.builder) + visitor = self.translator_class(self.document, self.builder) self.document.walkabout(visitor) self.output = visitor.body @@ -460,7 +462,7 @@ class TextTranslator(nodes.NodeVisitor): pass def visit_entry(self, node): - if node.has_key('morerows') or node.has_key('morecols'): + if 'morerows' in node or 'morecols' in node: raise NotImplementedError('Column or row spanning cells are ' 'not implemented.') self.new_state(0) @@ -489,7 +491,7 @@ class TextTranslator(nodes.NodeVisitor): for i, cell in enumerate(line): par = my_wrap(cell, width=colwidths[i]) if par: - maxwidth = max(map(column_width, par)) + maxwidth = max(column_width(x) for x in par) else: maxwidth = 0 realwidths[i] = max(realwidths[i], maxwidth) @@ -746,6 +748,11 @@ class TextTranslator(nodes.NodeVisitor): def depart_reference(self, node): pass + def visit_number_reference(self, node): + text = nodes.Text(node.get('title', '#')) + self.visit_Text(text) + raise nodes.SkipNode + def visit_download_reference(self, node): pass def depart_download_reference(self, node): @@ -766,6 +773,11 @@ class TextTranslator(nodes.NodeVisitor): def depart_strong(self, node): self.add_text('**') + def visit_literal_strong(self, node): + self.add_text('**') + def depart_literal_strong(self, node): + self.add_text('**') + def visit_abbreviation(self, node): self.add_text('') def depart_abbreviation(self, node): |