summaryrefslogtreecommitdiff
path: root/sphinx/writers/text.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/writers/text.py')
-rw-r--r--sphinx/writers/text.py20
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):