def write_text(self, *args, **kwargs): #------------------------------------------------------------- # RawTextRfcWriter override # # We should be able to handle mostly all of the nroff commands by # intercepting the alignment and indentation arguments #------------------------------------------------------------- # Store buffer position for paging information if 'buf' in kwargs: buffer = kwargs["buf"] else: buffer = self.buf par = [] kwargs["buf"] = par begin = len(buffer) leading_blankline = kwargs.get("leading_blankline", False) if self.in_list and not leading_blankline and len( buffer) and not buffer[-1].startswith('.sp'): self.write_nroff('.br') RawTextRfcWriter.write_text(self, *args, **kwargs) # Escape as needed for i in range(len(par)): par[i] = par[i].strip() if par[i] and par[i][0] in nroff_linestart_meta: par[i] = nroff_escape_linestart(par[i]) # Handle alignment/indentation align = kwargs.get('align', 'left') indent = kwargs.get('indent', 0) sub_indent = kwargs.get('sub_indent', 0) bullet = kwargs.get('bullet', '') if align == 'center': self.write_nroff('.ce %s' % len([x for x in par if x != ""]), buf=buffer) else: # Use bullet for indentation if sub not specified full_indent = sub_indent and indent + sub_indent or indent + len( bullet) self._indent(full_indent, buf=buffer) if bullet and len(bullet.strip()) > 0: # Bullet line: title just uses base indent self.write_nroff('.ti %s' % indent, buf=buffer) mark = len(buffer) # Write to buffer buffer.extend(par) # Page break information end = len(buffer) if buffer == self.buf: self._set_break_hint(end - mark, 'txt', begin) """
def write_text(self, *args, **kwargs): #------------------------------------------------------------- # RawTextRfcWriter override # # We should be able to handle mostly all of the nroff commands by # intercepting the alignment and indentation arguments #------------------------------------------------------------- # Store buffer position for paging information if 'buf' in kwargs: buffer = kwargs["buf"] else: buffer = self.buf par = [] kwargs["buf"] = par begin = len(buffer) leading_blankline = kwargs.get("leading_blankline", False) if self.in_list and not leading_blankline and len(buffer) and not buffer[-1].startswith('.sp'): self.write_nroff('.br') RawTextRfcWriter.write_text(self, *args, **kwargs) # Escape as needed for i in range(len(par)): par[i] = par[i].strip() if par[i] and par[i][0] in nroff_linestart_meta: par[i] = nroff_escape_linestart(par[i]) # Handle alignment/indentation align = kwargs.get('align', 'left') indent = kwargs.get('indent', 0) sub_indent = kwargs.get('sub_indent', 0) bullet = kwargs.get('bullet', '') if align == 'center': self.write_nroff('.ce %s' % len([x for x in par if x != ""]), buf=buffer) else: # Use bullet for indentation if sub not specified full_indent = sub_indent and indent + sub_indent or indent + len(bullet) self._indent(full_indent, buf=buffer) if bullet and len(bullet.strip()) > 0: # Bullet line: title just uses base indent self.write_nroff('.ti %s' % indent, buf=buffer) mark = len(buffer) # Write to buffer buffer.extend(par) # Page break information end = len(buffer) if buffer == self.buf: self._set_break_hint(end - mark, 'txt', begin) """