Example #1
0
    def __init__(self, document, builder):
        TextTranslator.__init__(self, document, builder)

        # Determine document's name (if any).
        assert builder.current_docname
        self.docname = builder.current_docname
        if SEP in self.docname:
            self.docparent = self.docname[0:self.docname.rfind(SEP) + 1]

        if not 'anchor' in builder.config.confluence_adv_restricted_macros:
            self.can_anchor = True
        else:
            self.can_anchor = False

        newlines = builder.config.text_newlines
        if newlines == 'windows':
            self.nl = '\r\n'
        elif newlines == 'native':
            self.nl = os.linesep
        else:
            self.nl = '\n'
        self.states = [[]]
        self.stateindent = [0]
        self.list_stack = []
        self.sectionlevel = 1
        self.table = False
        self.escape_newlines = 0
        self.quote_level = 0
        if self.builder.config.confluence_indent:
            self.indent = self.builder.config.confluence_indent
        else:
            self.indent = STDINDENT
Example #2
0
    def __init__(self, document, builder):
        TextTranslator.__init__(self, document, builder)

        # Determine document's name (if any).
        assert builder.current_docname
        self.docname = builder.current_docname
        if SEP in self.docname:
            self.docparent = self.docname[0:self.docname.rfind(SEP) + 1]

        newlines = builder.config.text_newlines
        if newlines == 'windows':
            self.nl = '\r\n'
        elif newlines == 'native':
            self.nl = os.linesep
        else:
            self.nl = '\n'
        self.states = [[]]
        self.stateindent = [0]
        self.list_counter = []
        self.sectionlevel = 1
        self.table = None
        if self.builder.config.confluence_indent:
            self.indent = self.builder.config.confluence_indent
        else:
            self.indent = STDINDENT
        self.wrapper = textwrap.TextWrapper(width=STDINDENT,
                                            break_long_words=False,
                                            break_on_hyphens=False)
    def __init__(self, builder, document):
        if not hasattr(builder, "config"):
            raise TypeError("Builder has no config: {}".format(type(builder)))
        TextTranslator.__init__(self, document, builder)

        newlines = builder.config.text_newlines
        if newlines == 'windows':
            self.nl = '\r\n'
        elif newlines == 'native':
            self.nl = os.linesep
        else:
            self.nl = '\n'
        self.sectionchars = builder.config.text_sectionchars
        self.states = [[]]
        self.stateindent = [0]
        self.list_counter = []
        self.sectionlevel = 0
        self._table = None
        if self.builder.config.rst_indent:
            self.indent = self.builder.config.rst_indent
        else:
            self.indent = STDINDENT
        self.wrapper = textwrap.TextWrapper(width=STDINDENT,
                                            break_long_words=False,
                                            break_on_hyphens=False)
 def visit_entry(self, node):
     if len(node) == 0:
         # Fill single-dot ``.`` for empty table cells
         self.table.add_cell(Cell('.'))
         raise nodes.SkipNode
     else:
         TextTranslator.visit_entry(self, node)
Example #5
0
    def __init__(self, document, builder):
        TextTranslator.__init__(self, document, builder)

        newlines = builder.config.text_newlines
        if newlines == 'windows':
            self.nl = '\r\n'
        elif newlines == 'native':
            self.nl = os.linesep
        else:
            self.nl = '\n'
        self.sectionchars = builder.config.text_sectionchars
        self.states = [[]]
        self.stateindent = [0]
        self.list_counter = []
        # flag for tracking brackets in literals
        # e.g. list[str] -> *list[str]* rather than
        # *list**[**str**]*
        self.literal_subtype_closed = True
        self.sectionlevel = 0
        self.table = None
        if self.builder.config.rst_indent:
            self.indent = self.builder.config.rst_indent
        else:
            self.indent = STDINDENT
        self.wrapper = textwrap.TextWrapper(width=STDINDENT,
                                            break_long_words=False,
                                            break_on_hyphens=False)
Example #6
0
    def __init__(self, builder, document):
        TextTranslator.__init__(self, document, builder)

        newlines = builder.config.text_newlines
        if newlines == 'windows':
            self.nl = '\r\n'
        elif newlines == 'native':
            self.nl = os.linesep
        else:
            self.nl = '\n'
        self.sectionchars = builder.config.text_sectionchars
        self.states = [[]]
        self.stateindent = [0]
        self.list_counter = []
        self.sectionlevel = 0
        self.table = None
        if self.builder.config.md_indent:
            self.indent = self.builder.config.md_indent
        else:
            self.indent = STDINDENT
        self.wrapper = textwrap.TextWrapper(width=STDINDENT,
                                            break_long_words=False,
                                            break_on_hyphens=False)
        self.md_template = self.builder.md_template
        self.md_link_replace = self.builder.md_link_replace
Example #7
0
    def depart_entry(self, node):
        TextTranslator.depart_entry(self, node)

        # replace return codes by @<br>{}
        text = self.table[-1].pop().strip()
        text = text.replace('\n', '@<br>{}')
        self.table[-1].append(text)
    def __init__(self, document, builder):
        TextTranslator.__init__(self, document, builder)

        if self.builder.config.highlight_language:
            self._highlight = self.builder.config.highlight_language
        else:
            self._highlight = DEFAULT_HIGHLIGHT_STYLE
        self._linenothreshold = sys.maxsize
    def depart_definition(self, node):
        pos = len(self.states[-2])
        TextTranslator.depart_definition(self, node)

        # replace a blank line by ``@<br>{}``
        while pos < len(self.states[-1]) - 1:
            item = self.states[-1][pos]
            if item[1] and item[1][-1] == '':
                item[1].pop()
                item[1][-1] += '@<br>{}'
            pos += 1
Example #10
0
    def __init__(self, document, builder):
        TextTranslator.__init__(self, document, builder)

        newlines = builder.config.text_newlines
        if newlines == 'windows':
            self.nl = '\r\n'
        elif newlines == 'native':
            self.nl = os.linesep
        else:
            self.nl = '\n'
        self.sectionchars = builder.config.text_sectionchars
        self.states = [[]]
        self.stateindent = [0]
        self.list_counter = []
        self.sectionlevel = 0
        self.table = None
        self.wrapper = textwrap.TextWrapper(width=STDINDENT, break_long_words=False, break_on_hyphens=False)
Example #11
0
 def visit_desc_signature(self, node):
     self._current_module = node.attributes.get('module', None)
     self._current_class = node.attributes.get('class', None)
     TextTranslator.visit_desc_signature(self, node)
Example #12
0
 def __init__(self, document, builder):
     TextTranslator.__init__(self, document, builder)
     self.in_desc = False
Example #13
0
 def visit_desc_name(self, node):
     self._desc_name = node.astext()
     TextTranslator.visit_desc_name(self, node)
Example #14
0
 def visit_desc_signature(self, node):
     self._current_module = node.attributes.get('module', None)
     self._current_class = node.attributes.get('class', None)
     TextTranslator.visit_desc_signature(self, node)
Example #15
0
 def __init__(self, document, builder):
     TextTranslator.__init__(self, document, builder)
     self.in_desc = False
Example #16
0
 def add_text(self, text, escape=True):
     if self.in_desc:
         etext = jl_escape(text) if escape else text
         TextTranslator.add_text(self, etext)
Example #17
0
 def __init__(self, document, builder):
     TextTranslator.__init__(self, document, builder)
Example #18
0
 def depart_desc_content(self, node):
     TextTranslator.depart_desc_content(self, node)
     self.new_state(0)
     self.add_text('"),\n', escape=False)
     self.end_state()
Example #19
0
 def depart_desc_content(self, node):
     TextTranslator.depart_desc_content(self, node)
     self.new_state(0)
     self.add_text('"),\n', escape=False)
     self.end_state()
 def depart_enumerated_list(self, node):
     TextTranslator.depart_enumerated_list(self, node)
     self.add_text('    }')
 def depart_bullet_list(self, node):
     TextTranslator.depart_bullet_list(self, node)
     self.add_text('    }')
Example #22
0
 def new_state(self, indent=4):
     TextTranslator.new_state(self, indent)
Example #23
0
 def end_state(self, wrap=False, end=[''], first=None):
     return TextTranslator.end_state(self, wrap, end, first)
Example #24
0
 def visit_desc_name(self, node):
     self._desc_name = node.astext()
     TextTranslator.visit_desc_name(self, node)
 def visit_bullet_list(self, node):
     TextTranslator.visit_bullet_list(self, node)
     self.add_text('    +listing{')
    def depart_entry(self, node):
        TextTranslator.depart_entry(self, node)

        # replace return codes by @<br>{}
        text = self.table.lines[-1][-1].text.strip()
        self.table.lines[-1][-1].text = text.replace('\n', '@<br>{}')
 def visit_enumerated_list(self, node):
     TextTranslator.visit_enumerated_list(self, node)
     self.add_text('    +listing{')
    def depart_enumerated_list(self, node):
        TextTranslator.depart_enumerated_list(self, node)

        # insert a blank line after the list
        if len(self.list_counter) == 0:
            self.add_lines([''])
 def end_state(self, wrap=True, end=[''], first=None):
     # force disable text wrapping
     TextTranslator.end_state(self, wrap=False, end=end, first=first)
Example #30
0
 def add_text(self, text, escape=True):
     if self.in_desc:
         etext = jl_escape(text) if escape else text
         TextTranslator.add_text(self, etext)